home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-11 / vs_804.zip / FUNCTION.DOC < prev    next >
Text File  |  1991-11-14  |  321KB  |  11,782 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.    VS_AddDays()         Add a specified number of days to a "date/time"   
  7.  
  8.    Description:
  9.      VS_AddDays() allows you to add a specified number of days to a        
  10.      "date/time" numeric value.                                            
  11.  
  12.    Syntax:     
  13.      n_DT2 := VS_AddDays( n_DT1, n_Days )                                  
  14.  
  15.    Pass:       
  16.      n_DT1 is a numeric "date/time" value as returned by VS_DateTime() 
  17.                                                                            
  18.      n_Days is a numeric that should represent the number of days you  
  19.      want to add to n_DT1.                                             
  20.  
  21.    Return:     
  22.      n_DT2 is a numeric value that will contain a "date/time" numeric  
  23.      value representing n_DT1 plus n_Days.                         
  24.  
  25.    Notes:      
  26.  
  27.    Example:    
  28.      n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )                       
  29.                                                                            
  30.      ? VS_AddDays( n_DT1, 5 )                                              
  31.  
  32.    Usage:      
  33.  
  34.    See Also:   
  35.      VS_AddHours() VS_AddMins() VS_AddSecs()                               
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.                         Vern Six's Clipper ToolBox v8.00                        
  60.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  61.  
  62.                                      - 1 -                                      
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.    VS_AddHours()        Add a specified number of hours to a "date/time"  
  73.  
  74.    Description:
  75.      VS_AddHours() allows you to add a specified number of hours to a      
  76.      "date/time" numeric value.                                            
  77.  
  78.    Syntax:     
  79.      n_DT2 := VS_AddHours( n_DT1, n_Hours )                                
  80.  
  81.    Pass:       
  82.      n_DT1 is a numeric "date/time" value as returned by VS_DateTime() 
  83.                                                                            
  84.      n_Hours is a numeric that should represent the number of hours you
  85.      want to add to n_DT1.                                             
  86.  
  87.    Return:     
  88.      n_DT2 is a numeric value that will contain a "date/time" numeric  
  89.      value representing n_DT1 plus n_Hours.                        
  90.  
  91.    Notes:      
  92.  
  93.    Example:    
  94.      n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )                       
  95.                                                                            
  96.      ? VS_AddHours( n_DT1, 5 )                                             
  97.  
  98.    Usage:      
  99.  
  100.    See Also:   
  101.      VS_AddDays() VS_AddMins() VS_AddSecs()                                
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.                         Vern Six's Clipper ToolBox v8.00                        
  126.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  127.  
  128.                                      - 2 -                                      
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.    VS_AddMins()         Add a specified number of minutes to a "date/time"
  139.  
  140.    Description:
  141.      VS_AddMins() allows you to add a specified number of minutes to a     
  142.      "date/time" numeric value.                                            
  143.  
  144.    Syntax:     
  145.      n_DT2 := VS_AddMins( n_DT1, n_Mins )                                  
  146.  
  147.    Pass:       
  148.      n_DT1 is a numeric "date/time" value as returned by VS_DateTime() 
  149.                                                                            
  150.      n_Mins is a numeric that should represent the number of minutes   
  151.      you want to add to n_DT1.                                         
  152.  
  153.    Return:     
  154.      n_DT2 is a numeric value that will contain a "date/time" numeric  
  155.      value representing n_DT1 plus n_Mins.                         
  156.  
  157.    Notes:      
  158.  
  159.    Example:    
  160.      n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )                       
  161.                                                                            
  162.      ? VS_AddMins( n_DT1, 5 )                                              
  163.  
  164.    Usage:      
  165.  
  166.    See Also:   
  167.      VS_AddDays() VS_AddHours() VS_AddSecs()                               
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.                         Vern Six's Clipper ToolBox v8.00                        
  192.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  193.  
  194.                                      - 3 -                                      
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.    VS_AddRec()          Add a new record by re-using deleted records      
  205.  
  206.    Description:
  207.      VS_AddRec() adds a new record to the database file associated with the
  208.      current work area.  It will first attempt to RECALL a record marked   
  209.      for deletion.  If successfully added or recalled, each field in the   
  210.      new record is set to the empty value for its field type and the new   
  211.      (or recalled) record becomes the current record.                      
  212.  
  213.    Syntax:     
  214.      l_Success = VS_AddRec()                                               
  215.  
  216.    Pass:       
  217.      Nothing                                                               
  218.  
  219.    Return:     
  220.      l_Success is a logical expression that will be set to .T. if      
  221.      successful, otherwise .F.                                             
  222.  
  223.    Notes:      
  224.      ■ Logical Records:  VS_AddRec() does not respect the logical      
  225.      visibility.  That is, if the record is successfully recalled/added, it
  226.      becomes the current record regardless of any index or filter          
  227.      condition.                                                            
  228.                                                                            
  229.      ■ Network Environment:  For a shared database on a network,       
  230.      VS_AddRec() automatically places a record lock on the new record.  If 
  231.      the record cannot be locked, it is not added (or recalled) and        
  232.      VS_AddRec() will set l_Success to .F.                             
  233.  
  234.    Example:    
  235.      IF .NOT. VS_AddRec()                                                  
  236.         VS_DIE( "Unable to add a new record!" )                            
  237.      ENDIF                                                                 
  238.  
  239.    Usage:      
  240.      VS_AddRec() (when used with VS_DelRec()) totally eliminate the need to
  241.      ever PACK a database file.                                            
  242.  
  243.    See Also:   
  244.      VS_DelRec()                                                           
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.                         Vern Six's Clipper ToolBox v8.00                        
  258.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  259.  
  260.                                      - 4 -                                      
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.    VS_AddSecs()         Add a specified number of seconds to a "date/time"
  271.  
  272.    Description:
  273.      VS_AddSecs() allows you to add a specified number of seconds to a     
  274.      "date/time" numeric value.                                            
  275.  
  276.    Syntax:     
  277.      n_DT2 := VS_AddSecs( n_DT1, n_Secs )                                  
  278.  
  279.    Pass:       
  280.      n_DT1 is a numeric "date/time" value as returned by VS_DateTime() 
  281.                                                                            
  282.      n_Secs is a numeric that should represent the number of seconds   
  283.      you want to add to n_DT1.                                         
  284.  
  285.    Return:     
  286.      n_DT2 is a numeric value that will contain a "date/time" numeric  
  287.      value representing n_DT1 plus n_Secs.                         
  288.  
  289.    Notes:      
  290.  
  291.    Example:    
  292.      n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )                       
  293.                                                                            
  294.      ? VS_AddSecs( n_DT1, 5 )                                              
  295.  
  296.    Usage:      
  297.  
  298.    See Also:   
  299.      VS_AddDays() VS_AddHours() VS_AddMins()                               
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.                         Vern Six's Clipper ToolBox v8.00                        
  324.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  325.  
  326.                                      - 5 -                                      
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.    VS_Alert()           Question box with multiple buttons                
  337.  
  338.    Description:
  339.      VS_Alert() allows you to ask the user a question and have multiple    
  340.      buttons for the reply.                                                
  341.  
  342.    Syntax:     
  343.      n_Button = VS_ALERT( ac_TextLines, ac_Buttons, [n_Palette], [n_Row],  
  344.      [n_Column] )                                                          
  345.  
  346.    Pass:       
  347.      ac_TextLines is an array of character values containing each line 
  348.      to be displayed to the user.  Each element of this array is a line of 
  349.      text in the VS_ALERT() box.                                           
  350.                                                                            
  351.      ac_Buttons is an array of character values containing the buttons 
  352.      that will be available to the user.  Each element of this array is a  
  353.      button in the VS_ALERT() box.                                         
  354.                                                                            
  355.      [n_Palette] is an optional palette number to be used for the      
  356.      VS_ALERT() box.  If none is specified, the current palette is used.   
  357.                                                                            
  358.      [n_Row] is an optional row number to place the top left corner of 
  359.      the VS_ALERT() box on.                                                
  360.                                                                            
  361.      [n_Column] is an optional column number to place the top left     
  362.      corner of the VS_ALERT() box on.                                      
  363.  
  364.    Return:     
  365.      n_Button is a numeric value representing which button the user    
  366.      "pressed".                                                            
  367.  
  368.    Notes:      
  369.      VS_ALERT() is non-screen-destructive.                                 
  370.  
  371.    Example:    
  372.      n_Button = VS_ALERT( {"An Error Has Occurred.", ;                     
  373.                 "What Do You Want To Do?"}, {" Abort ", ;                  
  374.                 " Retry ", " Quit "}, 3 )                                  
  375.                                                                            
  376.      DO CASE                                                               
  377.         CASE n_Button = 1                                                  
  378.            AbortFunc()                                                     
  379.         CASE n_Button = 2                                                  
  380.            RetryFunc()                                                     
  381.         OTHERWISE                                                          
  382.            QUIT                                                            
  383.      ENDCASE                                                               
  384.  
  385.    Usage:      
  386.      VS_ALERT() is useful for asking the user such things as "What shall I 
  387.  
  388.  
  389.                         Vern Six's Clipper ToolBox v8.00                        
  390.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  391.  
  392.                                      - 6 -                                      
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.      do now?", "Where do you want this output to go?", etc.                
  403.  
  404.    See Also:   
  405.      VS_MSG()                                                              
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.                         Vern Six's Clipper ToolBox v8.00                        
  456.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  457.  
  458.                                      - 7 -                                      
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.    VS_Append()          Add a new record                                  
  469.  
  470.    Description:
  471.      VS_Append() adds a new record to the database associated with the     
  472.      currently selected work area.  If successfully added, each field in   
  473.      the record is set to the empty value for its data type and the new    
  474.      record becomes the current record.                                    
  475.  
  476.    Syntax:     
  477.      l_Success = VS_Append()                                               
  478.  
  479.    Pass:       
  480.      Nothing                                                               
  481.  
  482.    Return:     
  483.      l_Success is a logical expression that will be set to .T. if      
  484.      VS_Append() was able to successfully add a new record to the database 
  485.      otherwise l_Success will be set to .F.                            
  486.  
  487.    Notes:      
  488.      ■   Logical Records:  VS_Append() does not respect logical        
  489.      visibility.  That is, if the record is successfully added, it becomes 
  490.      the current record regardless of any index or filter condition.       
  491.                                                                            
  492.      ■   Network Environment:  For a shared database on a network,     
  493.      VS_Append() automatically places a record lock on the new record.  If 
  494.      the record cannot be loced, it is not added and VS_Append() will set  
  495.      l_Success to .F.                                                  
  496.  
  497.    Example:    
  498.      BEGIN SEQUENCE                                                        
  499.                                                                            
  500.         IF .NOT. CUST->( VS_Append() )                                     
  501.            BREAK                                                           
  502.         ENDIF                                                              
  503.         ...                                                                
  504.                                                                            
  505.      END SEQUENCE                                                          
  506.  
  507.    Usage:      
  508.      VS_Append() will try to append a blank record to the currently        
  509.      selected file.  If it is unsuccessful, a non-screen destructive       
  510.      message stating "Waiting for busy network.  Press any key to abort."  
  511.      will appear on the screen and VS_Append() will endlessly attempt to   
  512.      append a blank record to the currently selected database.  If the user
  513.      aborts the operation by pressing a key, VS_Append() will return a     
  514.      logical value of false, it's your job as the programmer to abort the  
  515.      operation and recover properly.                                       
  516.  
  517.    See Also:   
  518.      VS_FakeLck VS_RLock() VS_FLock() VS_Use() VS_AddRec() VS_DelRec()     
  519.  
  520.  
  521.                         Vern Six's Clipper ToolBox v8.00                        
  522.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  523.  
  524.                                      - 8 -                                      
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.                         Vern Six's Clipper ToolBox v8.00                        
  588.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  589.  
  590.                                      - 9 -                                      
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.    VS_ArraySkip()       TBrowse SkipBlock for arrays                      
  601.  
  602.    Description:
  603.      VS_ArraySkip() is designed to be used in a TBrowse skipblock.  The use
  604.      of this function makes browsing arrays a real piece of cake!          
  605.  
  606.    Syntax:     
  607.      n_Skipped = VS_ArraySkip( n_Length, @n_CurrPos, n_Howmany )           
  608.  
  609.    Pass:       
  610.      n_Length is a numeric value that should contain the total number  
  611.      of elements in the array you are browsing.                            
  612.                                                                            
  613.      n_CurrPos is a numeric value that should contain the current      
  614.      position within the array you are browsing.  n_CurrPos must be    
  615.      passed by reference (@n_CurrPos).                                     
  616.      n_HowMany is a numeric value that represents how many elements to 
  617.      skip.                                                                 
  618.  
  619.    Return:     
  620.      n_Skipped is a numeric value that will contain the actual number  
  621.      of elements skipped within the array you are browsing.                
  622.  
  623.    Notes:      
  624.  
  625.    Example:    
  626.      o_Browse:SkipBlock = {|x|VS_ArraySkip(n_Len,@n_Pos,x)}                
  627.  
  628.    Usage:      
  629.  
  630.    See Also:   
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.                         Vern Six's Clipper ToolBox v8.00                        
  654.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  655.  
  656.                                      - 10 -                                     
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.    VS_Ask()             Asks the user a one line question                 
  667.  
  668.    Description:
  669.      VS_Ask() prompts the user with a one line question and will return a  
  670.      one character response which can be limited to specific characters.   
  671.  
  672.    Syntax:     
  673.      c_Answer = VS_Ask( c_Question, c_KeyList, [n_row] , [n_Col] )         
  674.  
  675.    Pass:       
  676.      c_Question is a character expression containing the question to   
  677.      ask the user.  c_Question should not include the question mark.   
  678.                                                                            
  679.      c_KeyList is a character expression containing the list of        
  680.      acceptable characters that the user can respond with.  The first      
  681.      character in the list is used as the default answer.                  
  682.                                                                            
  683.      n_Row is an option numeric value representing the top row of the  
  684.      window.                                                               
  685.                                                                            
  686.      n_Col is an option numeric value representing the left column of  
  687.      the window.                                                           
  688.  
  689.    Return:     
  690.      c_Answer is a character expression of the key the user pressed.   
  691.  
  692.    Notes:      
  693.      VS_Ask() is non-screen destructive.                                   
  694.  
  695.    Example:    
  696.      IF VS_Ask("Continue","YyNn") $ "Nn"                                   
  697.         QUIT                                                               
  698.      ENDIF                                                                 
  699.  
  700.    Usage:      
  701.      VS_Ask() is very useful for asking the user simple questions such as  
  702.      "Is the printer ready?", "Are you sure?", etc.                        
  703.  
  704.    See Also:   
  705.      VS_ASK2() VS_MSG() VS_WIND()                                          
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.                         Vern Six's Clipper ToolBox v8.00                        
  720.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  721.  
  722.                                      - 11 -                                     
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.    VS_Ask2()            Asks the user a multi-line question               
  733.  
  734.    Description:
  735.      VS_Ask2() prompts the user with a multiple line question and will     
  736.      return a one character response which can be limited to specific      
  737.      characters.                                                           
  738.  
  739.    Syntax:     
  740.      c_Answer = VS_Ask2( ac_Question, n_Elements, c_Title, c_FootNote,     
  741.      c_KeyList, [n_Row], [n_Col] )                                         
  742.  
  743.    Pass:       
  744.      ac_Question is an array of character values containing each line  
  745.      to be displayed to the user.  Each element of this array is a line of 
  746.      text in the VS_Ask2() box.                                            
  747.                                                                            
  748.      n_Elements is a numeric value respresenting the number of elements
  749.      in ac_Question.                                                   
  750.                                                                            
  751.      c_Title is a text string to be displayed at the top of the window 
  752.      (offset to the left).                                                 
  753.                                                                            
  754.      c_Footnote is a text string to be displayed at the bottom of the  
  755.      window  (centered).                                                   
  756.                                                                            
  757.      c_KeyList is a character expression containing the list of        
  758.      acceptable characters that the user can respond with.  The first      
  759.      character in the list is used as the default answer.                  
  760.                                                                            
  761.      n_Row is an optional numeric value representing the top row of the
  762.      window.                                                               
  763.                                                                            
  764.      n_Col is an optional numeric value representing the left column of
  765.      the window.                                                           
  766.  
  767.    Return:     
  768.      c_Answer is a character expression of the key the user pressed.   
  769.  
  770.    Notes:      
  771.      VS_Ask2() is non-screen destructive.                                  
  772.  
  773.    Example:    
  774.      ac_msg[1] = "This is line one"                                        
  775.      ac_msg[2] = "This is line two"                                        
  776.      ac_msg[3] = "Which do you like best"                                  
  777.      c_memvar = VS_ASK2(ac_msg,3,"","","123")                              
  778.      ? "You selected line number " + c_memvar                              
  779.  
  780.    Usage:      
  781.      VS_ASK2() is of benefit when it becomes neccessary to ask the user a  
  782.      question of quite some length.  i.e. "WARNING: Proceeding with this   
  783.  
  784.  
  785.                         Vern Six's Clipper ToolBox v8.00                        
  786.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  787.  
  788.                                      - 12 -                                     
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.      operation will completely erase all data files.  Please be sure you   
  799.      have made sufficient backups.  Are you sure you want to continue?"    
  800.  
  801.    See Also:   
  802.      VS_ASK() VS_MSG() VS_WIND()                                           
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.                         Vern Six's Clipper ToolBox v8.00                        
  852.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  853.  
  854.                                      - 13 -                                     
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.    VS_Black()           Returns the codes to turn "Black" on              
  865.  
  866.    Description:
  867.      VS_Black() returns the appropriate control codes to make the currently
  868.      selected printer print in black.                                      
  869.  
  870.    Syntax:     
  871.      c_CtrlCode = VS_Black()                                               
  872.  
  873.    Pass:       
  874.      Nothing                                                               
  875.  
  876.    Return:     
  877.      c_CtrlCode is a character expression that represents the necessary
  878.      control codes to print in black.                                      
  879.  
  880.    Notes:      
  881.      If a printer has not yet been selected, VS_Black() will call          
  882.      VS_InitPrtr().                                                        
  883.                                                                            
  884.      Note:                                                             
  885.                                                                            
  886.      Non-Color printers will be uneffected by the use of this function.    
  887.  
  888.    Example:    
  889.      SET PRINT ON                                                          
  890.         ? VS_Black() + "This will be in black"                             
  891.      SET PRINT OFF                                                         
  892.  
  893.    Usage:      
  894.  
  895.    See Also:   
  896.      VS_InitPrtr() STRUCT.NGO:Printers                                     
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.                         Vern Six's Clipper ToolBox v8.00                        
  918.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  919.  
  920.                                      - 14 -                                     
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.    VS_Blue()            Returns the codes to turn "Blue" on               
  931.  
  932.    Description:
  933.      VS_Blue() returns the appropriate control codes to make the currently 
  934.      selected printer print in blue.                                       
  935.  
  936.    Syntax:     
  937.      c_CtrlCode = VS_Blue()                                                
  938.  
  939.    Pass:       
  940.      Nothing                                                               
  941.  
  942.    Return:     
  943.      c_CtrlCode is a character expression that represents the necessary
  944.      control codes to print in blue.                                       
  945.                                                                            
  946.  
  947.    Notes:      
  948.      If a printer has not yet been selected, VS_Blue() will call           
  949.      VS_InitPrtr().                                                        
  950.                                                                            
  951.      Note:                                                             
  952.                                                                            
  953.      Non-Color printers will be uneffected by the use of this function.    
  954.  
  955.    Example:    
  956.      SET PRINT ON                                                          
  957.         ? VS_Blue() + "This will be in blue"                               
  958.      SET PRINT OFF                                                         
  959.  
  960.    Usage:      
  961.  
  962.    See Also:   
  963.      VS_InitPrtr() STRUCT.NGO:Printers                                     
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.                         Vern Six's Clipper ToolBox v8.00                        
  984.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  985.  
  986.                                      - 15 -                                     
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.    VS_Bold()            Print a string in "Bold" mode                     
  997.  
  998.    Description:
  999.      VS_Bold() returns the appropriate control codes to make the currently 
  1000.      selected printer print in "Bold" mode.                                
  1001.  
  1002.    Syntax:     
  1003.      c_CtrlCode = VS_Bold( c_String )                                      
  1004.  
  1005.    Pass:       
  1006.      c_String is a character expression containing the value to print. 
  1007.  
  1008.    Return:     
  1009.      c_CtrlCode is a character expression that represents the necessary
  1010.      control codes to print c_String in "Bold" mode.                   
  1011.  
  1012.    Notes:      
  1013.      If a printer has not yet been selected, VS_Bold() will call           
  1014.      VS_InitPrtr().                                                        
  1015.  
  1016.    Example:    
  1017.      SET PRINT ON                                                          
  1018.         ? VS_Bold([This will be in "Bold" mode.])                          
  1019.      SET PRINT OFF                                                         
  1020.  
  1021.    Usage:      
  1022.  
  1023.    See Also:   
  1024.      VS_InitPrtr() VS_BoldOn() VS_BoldOff() STRUCT.NGO:Printers            
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.                         Vern Six's Clipper ToolBox v8.00                        
  1050.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1051.  
  1052.                                      - 16 -                                     
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.    VS_BoldOff()         Returns the codes to turn "Bold" off              
  1063.  
  1064.    Description:
  1065.      VS_BoldOff() returns the necessary codes to make the currently        
  1066.      selected printer stop printing in "Bold" mode.                        
  1067.  
  1068.    Syntax:     
  1069.      c_CtrlCode = VS_BoldOff()                                             
  1070.  
  1071.    Pass:       
  1072.      Nothing                                                               
  1073.  
  1074.    Return:     
  1075.      c_CtrlCode is a character expression that will contain the        
  1076.      necessary codes to make the currently selected printer stop printing  
  1077.      in "Bold" mode.                                                       
  1078.  
  1079.    Notes:      
  1080.      If a printer has not yet been selected, VS_BoldOff() will call        
  1081.      VS_InitPrtr().                                                        
  1082.  
  1083.    Example:    
  1084.      SET PRINT ON                                                          
  1085.                                                                            
  1086.         ? VS_BoldOn()                                                      
  1087.         ? [This is in "Bold"]                                              
  1088.         ? [So is this]                                                     
  1089.         ? VS_BoldOff()                                                     
  1090.                                                                            
  1091.      SET PRINT OFF                                                         
  1092.  
  1093.    Usage:      
  1094.  
  1095.    See Also:   
  1096.      VS_InitPrtr() VS_Bold() VS_BoldOn() STRUCT.NGO:Printers               
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.                         Vern Six's Clipper ToolBox v8.00                        
  1116.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1117.  
  1118.                                      - 17 -                                     
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.    VS_BoldOn()          Returns the codes to turn "Bold" on               
  1129.  
  1130.    Description:
  1131.      VS_BoldOn() returns the necessary codes to make the currently selected
  1132.      printer print in "Bold" mode.                                         
  1133.  
  1134.    Syntax:     
  1135.      c_CtrlCode = VS_BoldOn()                                              
  1136.  
  1137.    Pass:       
  1138.      Nothing                                                               
  1139.  
  1140.    Return:     
  1141.      c_CtrlCode is a character expression that will contain the        
  1142.      necessary codes to make the currently selected printer print in "Bold"
  1143.      mode.                                                                 
  1144.  
  1145.    Notes:      
  1146.      If a printer has not yet been selected, VS_BoldOn() will call         
  1147.      VS_InitPrtr().                                                        
  1148.  
  1149.    Example:    
  1150.      SET PRINT ON                                                          
  1151.                                                                            
  1152.         ? VS_BoldOn()                                                      
  1153.         ? [This will be in "Bold" mode]                                    
  1154.         ? [So will this]                                                   
  1155.         ? VS_BoldOff()                                                     
  1156.                                                                            
  1157.      SET PRINT OFF                                                         
  1158.  
  1159.    Usage:      
  1160.  
  1161.    See Also:   
  1162.      VS_InitPrtr() VS_Bold() VS_BoldOff() STRUCT.NGO:Printers              
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.                         Vern Six's Clipper ToolBox v8.00                        
  1182.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1183.  
  1184.                                      - 18 -                                     
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.    VS_BoxStr()          Returns the current box string                    
  1195.  
  1196.    Description:
  1197.      VS_BoxStr() allows the programmer to sense what box string the user   
  1198.      has selected for the window boxes on the current palette.             
  1199.  
  1200.    Syntax:     
  1201.      c_BoxStr = VS_BoxStr()                                                
  1202.  
  1203.    Pass:       
  1204.      Nothing                                                               
  1205.  
  1206.    Return:     
  1207.      c_BoxStr is a character expression that will contain the current  
  1208.      window box string.                                                    
  1209.  
  1210.    Notes:      
  1211.  
  1212.    Example:    
  1213.      ? VS_BoxStr()                                                         
  1214.  
  1215.    Usage:      
  1216.  
  1217.    See Also:   
  1218.      VS_VBoxStr()                                                          
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.                         Vern Six's Clipper ToolBox v8.00                        
  1248.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1249.  
  1250.                                      - 19 -                                     
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.    VS_Browse()          Database pick-list/browser routine                
  1261.  
  1262.    Description:
  1263.      VS_Browse() allows the user to pick a database record from a "pick    
  1264.      list/browse" window.  The window can contain as many field columns as 
  1265.      you (the programmer) want to provide as the user may "pan" left and   
  1266.      right (in addition to scrolling up and down) within the window.       
  1267.  
  1268.    Syntax:     
  1269.      n_Key = VS_Browse( n_Top, n_Left, n_Bottom, n_Right, c_Title,         
  1270.      c_FootNote, n_Palette, a_ColObjs, c_FirstKey, b_Condition, ac_Procs,  
  1271.      an_Keys )                                                             
  1272.  
  1273.    Pass:       
  1274.      n_Top is a numeric value containing the top row of the window.    
  1275.                                                                            
  1276.      n_Left is a numeric value containing the left column of the       
  1277.      window.                                                               
  1278.                                                                            
  1279.      n_Bottom is a numeric value containing the bottom row of the      
  1280.      window.                                                               
  1281.                                                                            
  1282.      n_Right is a numeric value containing the right column of the     
  1283.      window.                                                               
  1284.                                                                            
  1285.      c_Title is a character expression that will be displayed at the   
  1286.      top of the window (offset to the left)                                
  1287.                                                                            
  1288.      c_Footnote is a character expression that will be displayed at the
  1289.      bottom of the window (centered)                                       
  1290.                                                                            
  1291.      n_Palette is a numeric value representing the palette number      
  1292.      VS_Browse() will use when it creates the window.                      
  1293.                                                                            
  1294.      a_ColObjs is an array of TBColumn Objects.  Each element in this  
  1295.      array represents one column in the window.  See Clipper v5.0x         
  1296.      documentation under TBColumn for more information.                    
  1297.                                                                            
  1298.      c_FirstKey is an optional character expression that represents the
  1299.      index key of the first record to display.  i.e. If the database were  
  1300.      indexed on last_name and c_FirstKey contained "SMITH", then the   
  1301.      first record displayed in the window would have the last name of      
  1302.      "SMITH".                                                              
  1303.                                                                            
  1304.      b_Condition is an optional code block that is evaluated for each  
  1305.      record prior to its being displayed in the window.  This code block   
  1306.      should return .T. only when the record in question is within the range
  1307.      of records you wish to see in the window.  i.e. using the "SMITH"     
  1308.      example above... if you only wanted to see a list of persons with the 
  1309.      last name of "SMITH", this code block code look like this:            
  1310.      {|x|LAST_NAME==x}.                                                    
  1311.  
  1312.  
  1313.                         Vern Six's Clipper ToolBox v8.00                        
  1314.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1315.  
  1316.                                      - 20 -                                     
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.                                                                            
  1327.      ac_Procs is an optional array of character expressions that tell  
  1328.      VS_Browse() which procedures to call within the window.               
  1329.                                                                            
  1330.      an_Keys is an optional array of numeric values (parallel to       
  1331.      ac_Procs) that indicate to VS_Browse() the INKEY() values of which
  1332.      keys invoke which procedure.  In other words, if the user presses a   
  1333.      key listed in this array, VS_Browse() will call the procedure named in
  1334.      the parallel element of ac_Procs.                                 
  1335.  
  1336.    Return:     
  1337.      n_Key is a numeric expression that represents the INKEY() value of
  1338.      the last key the user pressed.                                        
  1339.                                                                            
  1340.  
  1341.    Notes:      
  1342.      VS_Browse() replaces VS_Pick().                                       
  1343.  
  1344.    Example:    
  1345.      LOCAL n_Key          := 0                                             
  1346.      LOCAL n_Top          := 5                                             
  1347.      LOCAL n_Left         := 5                                             
  1348.      LOCAL n_Bottom       := 20                                            
  1349.      LOCAL n_Right        := 75                                            
  1350.      LOCAL c_Title        := " This is the title "                         
  1351.      LOCAL c_FootNote     := " This is the footnote "                      
  1352.      LOCAL n_Palette      := 5                                             
  1353.      LOCAL a_ColObjs      := {}                                            
  1354.      LOCAL c_FirstKey                                                      
  1355.      LOCAL b_Condition                                                     
  1356.      LOCAL ab_KeyBlocks                                                    
  1357.      LOCAL an_Keys                                                         
  1358.                                                                            
  1359.         VS_InitVern()                                                      
  1360.                                                                            
  1361.         USE VERNSIX INDEX VERNSIX                                          
  1362.                                                                            
  1363.         AADD( a_ColObjs, TBColumnNew( "Function        - Short             
  1364.      Description", ;                                                       
  1365.                                        {||FUNC_NAME+[ - ]+SHORT} ) )       
  1366.                                                                            
  1367.         n_Key = VS_Browse(n_Top, n_Left, n_Bottom, n_Right, c_Title,       
  1368.      c_FootNote,;                                                          
  1369.                 n_Palette, a_ColObjs )                                     
  1370.                                                                            
  1371.         ? "n_Key=",n_Key                                                   
  1372.         ? "RECNO()=",RECNO()                                               
  1373.  
  1374.    Usage:      
  1375.      VS_Browse() can be used anytime you want a user to be able to select a
  1376.      record from a database.  I find it to be a very valuable tool inside  
  1377.  
  1378.  
  1379.                         Vern Six's Clipper ToolBox v8.00                        
  1380.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1381.  
  1382.                                      - 21 -                                     
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.      validation routines, etc.                                             
  1393.  
  1394.    See Also:   
  1395.      VS_Pick()*                                                            
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.                         Vern Six's Clipper ToolBox v8.00                        
  1446.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1447.  
  1448.                                      - 22 -                                     
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.    VS_CanMake()         Returns recreate setting from data dictionary     
  1459.  
  1460.    Description:
  1461.      VS_CanMake() allows the programmer to see if a DBF can be "re-created"
  1462.      if missing.                                                           
  1463.  
  1464.    Syntax:     
  1465.      l_CanMake = VS_CanMake( c_DbfName )                                   
  1466.  
  1467.    Pass:       
  1468.      c_DbfName is a character expression that should contain the name  
  1469.      of the data base in question.  This name MUST exist in the data       
  1470.      dictionary!!                                                          
  1471.  
  1472.    Return:     
  1473.      l_CanMake is a logical expression that will be set to .T. if it is
  1474.      okay to re-create c_Dbfname, otherwise .F.                        
  1475.  
  1476.    Notes:      
  1477.  
  1478.    Example:    
  1479.      IF VS_CanMake("MYFILE")                                               
  1480.         ...                                                                
  1481.      ENDIF                                                                 
  1482.                                                                            
  1483.  
  1484.    Usage:      
  1485.  
  1486.    See Also:   
  1487.      VS_OpenDbf()                                                          
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.                         Vern Six's Clipper ToolBox v8.00                        
  1512.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1513.  
  1514.                                      - 23 -                                     
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.    VS_Center()          Centers a string                                  
  1525.  
  1526.    Description:
  1527.      VS_Center() allows you to center a string within a given width.       
  1528.      VS_Center() can be used either with screen or printer output.         
  1529.  
  1530.    Syntax:     
  1531.      n_Pos = VS_Center( c_String [, n_Width] )                             
  1532.  
  1533.    Pass:       
  1534.      c_String is the character expression to be centered.              
  1535.                                                                            
  1536.      n_Width is an optional numeric value of the desired width to      
  1537.      center c_String within.  If omitted, 80 is assumed.               
  1538.                                                                            
  1539.  
  1540.    Return:     
  1541.      n_Pos is a numeric value representing the position to print       
  1542.      c_String at.                                                      
  1543.  
  1544.    Notes:      
  1545.  
  1546.    Example:    
  1547.      c_Temp = "This string will be centered on line ten"                   
  1548.      @ 10,VS_Center(c_Temp) SAY c_Temp                                     
  1549.  
  1550.    Usage:      
  1551.      VS_Center() comes in handy when you want to put text on the screen at 
  1552.      exactly the center of a line.  VS_Center() frees you from having to   
  1553.      determine the proper amount of spaces yourself.                       
  1554.  
  1555.    See Also:   
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.                         Vern Six's Clipper ToolBox v8.00                        
  1578.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1579.  
  1580.                                      - 24 -                                     
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.    VS_CfgFile()         Returns the name of the current Config file       
  1591.  
  1592.    Description:
  1593.      VS_CfgFile() returns the name of the current "config" color that      
  1594.      VERNSIX5.LIB uses to store the color settings, etc.                   
  1595.  
  1596.    Syntax:     
  1597.      c_FileName = VS_CfgFile()                                             
  1598.  
  1599.    Pass:       
  1600.      Nothing                                                               
  1601.  
  1602.    Return:     
  1603.      c_FileName is a character expression that will contain the        
  1604.      filename base of the config file.                                     
  1605.  
  1606.    Notes:      
  1607.      No extension is returned!                                             
  1608.  
  1609.    Example:    
  1610.      ? VS_CfgFile()                                                        
  1611.  
  1612.    Usage:      
  1613.  
  1614.    See Also:   
  1615.      VS_InitVern()                                                         
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.                         Vern Six's Clipper ToolBox v8.00                        
  1644.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1645.  
  1646.                                      - 25 -                                     
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.    VS_ChkAuth()         Checks the user's security authorization          
  1657.  
  1658.    Description:
  1659.      VS_ChkAuth() allows the programmer to ensure that only authorized     
  1660.      users can access sensitive elements (functions) of an application.    
  1661.  
  1662.    Syntax:     
  1663.      l_Authorized = VS_ChkAuth( c_ReqdOpt )                                
  1664.  
  1665.    Pass:       
  1666.      c_ReqdOpt is a character expression that the user must have in    
  1667.      his/her "OPTIONS" field in the SECURITY.DBF (maintained via           
  1668.      VS_MntPwd())                                                          
  1669.  
  1670.    Return:     
  1671.      l_Authorized is a logical expression that will be set to .T. if   
  1672.      the user has c_ReqdOpt anywhere in the OPTIONS field in his   
  1673.      record in SECURITY.DBF.  If the user does not have c_ReqdOpt in   
  1674.      his OPTIONS field in SECURITY.DBF, l_Authorized will be set to .F.
  1675.  
  1676.    Notes:      
  1677.      You (the Super User) must setup each user's record in SECURITY.DBF
  1678.      through the use of VS_MntPwd().                                       
  1679.  
  1680.    Example:    
  1681.      IF .NOT. VS_ChkAuth("SECRET")                                         
  1682.         VS_DIE("Sorry, you do not have the proper authorization","to       
  1683.      perform this function!!")                                             
  1684.      ENDIF                                                                 
  1685.      ...                                                                   
  1686.      ...                                                                   
  1687.  
  1688.    Usage:      
  1689.      VS_ChkAuth() MUST NOT be used prior to VS_Login().                
  1690.  
  1691.    See Also:   
  1692.      VS_Login() VS_MntPwd() STRUCT.NGO:Security VS_Initials() VS_UserName()
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.                         Vern Six's Clipper ToolBox v8.00                        
  1710.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1711.  
  1712.                                      - 26 -                                     
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.    VS_CloseDict()       Close all open data dictionary files              
  1723.  
  1724.    Description:
  1725.      VS_CloseDict() closes all of the open data dictionary files.          
  1726.  
  1727.    Syntax:     
  1728.      VS_CloseDict()                                                        
  1729.  
  1730.    Pass:       
  1731.      Nothing                                                               
  1732.  
  1733.    Return:     
  1734.      VS_CloseDict() always returns NIL.                                    
  1735.  
  1736.    Notes:      
  1737.  
  1738.    Example:    
  1739.      VS_CloseDict()                                                        
  1740.  
  1741.    Usage:      
  1742.  
  1743.    See Also:   
  1744.      VS_OpenDict()                                                         
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.                         Vern Six's Clipper ToolBox v8.00                        
  1776.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1777.  
  1778.                                      - 27 -                                     
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.    VS_CloseLst()        Close a list of databases                         
  1789.  
  1790.    Description:
  1791.      VS_CloseLst() will close a list of open databases.                    
  1792.  
  1793.    Syntax:     
  1794.      VS_CloseLst( ac_DbfList )                                             
  1795.  
  1796.    Pass:       
  1797.      ac_DbfList is an array of character expression each representing  
  1798.      the ALIAS() name of an open database.                                 
  1799.  
  1800.    Return:     
  1801.      Nothing                                                               
  1802.  
  1803.    Notes:      
  1804.      VS_CloseLst() is ideally suited to be used in concert with            
  1805.      VS_OpenLst().                                                         
  1806.  
  1807.    Example:    
  1808.      LOCAL ac_DbfList := {}                                                
  1809.      AADD( ac_DbfList, "DBF_ONE" )                                         
  1810.      AADD( ac_DbfList, "DBF_TWO" )                                         
  1811.      AADD( ac_DbfList, "DBF_THREE" )                                       
  1812.      IF VS_OpenLst(ac_DbfList)                                             
  1813.         ...                                                                
  1814.         ...                                                                
  1815.         VS_CloseLst(ac_DbfList)                                            
  1816.      ENDIF                                                                 
  1817.      ...                                                                   
  1818.  
  1819.    Usage:      
  1820.  
  1821.    See Also:   
  1822.      VS_OpenLst()                                                          
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.                         Vern Six's Clipper ToolBox v8.00                        
  1842.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1843.  
  1844.                                      - 28 -                                     
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.    VS_Color()           Prompts user for color settings                   
  1855.  
  1856.    Description:
  1857.      VS_Color() prompts the user for the various color schemes (text and   
  1858.      windowed) that he/she wants to use while in your program.  VS_Color() 
  1859.      is non-screen destructive, however you should redraw the screen after 
  1860.      a call to VS_Color() to reflect the new colors as set by the user.    
  1861.      VS_Color() will *NOT* re-paint the screen using the newcolors.        
  1862.  
  1863.    Syntax:     
  1864.      VS_COLOR()                                                            
  1865.  
  1866.    Pass:       
  1867.      Nothing                                                               
  1868.  
  1869.    Return:     
  1870.      VS_Color() always returns NIL.                                        
  1871.  
  1872.    Notes:      
  1873.  
  1874.    Example:    
  1875.      VS_COLOR()                                                            
  1876.  
  1877.    Usage:      
  1878.      VS_Color() is great for allowing the user to define his/her own color 
  1879.      preferences.  If you use the VS_TxtColr() and VS_WndColr() functions, 
  1880.      VS_Color() makes colors one less thing to worry about while you are   
  1881.      writing your application.  Colors are stored in the configuration     
  1882.      database automatically.                                               
  1883.  
  1884.    See Also:   
  1885.      VS_InitVern() VS_TxtColr() VS_WndColr()                               
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.                         Vern Six's Clipper ToolBox v8.00                        
  1908.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1909.  
  1910.                                      - 29 -                                     
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.    VS_Cond()            Print a string in "Condensed" mode                
  1921.  
  1922.    Description:
  1923.      VS_Cond() returns the appropriate control codes to make the currently 
  1924.      selected printer print in "Condensed" mode.                           
  1925.  
  1926.    Syntax:     
  1927.      c_CtrlCode = VS_Cond( c_String )                                      
  1928.  
  1929.    Pass:       
  1930.      c_String is a character expression containing the value to print. 
  1931.  
  1932.    Return:     
  1933.      c_CtrlCode is a character expression that represents the necessary
  1934.      control codes to print c_String in "Condensed" mode.              
  1935.  
  1936.    Notes:      
  1937.      If a printer has not yet been selected, VS_Cond() will call           
  1938.      VS_InitPrtr().                                                        
  1939.  
  1940.    Example:    
  1941.      SET PRINT ON                                                          
  1942.         ? VS_Cond([This will be in "Condensed" mode.])                     
  1943.      SET PRINT OFF                                                         
  1944.  
  1945.    Usage:      
  1946.  
  1947.    See Also:   
  1948.      VS_InitPrtr() VS_CondOn() VS_CondOff() STRUCT.NGO:Printers            
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.                         Vern Six's Clipper ToolBox v8.00                        
  1974.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  1975.  
  1976.                                      - 30 -                                     
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.    VS_CondOff()         Returns the codes to turn "Condensed" off         
  1987.  
  1988.    Description:
  1989.      VS_CondOff() returns the necessary codes to make the currently        
  1990.      selected printer stop printing in "Condensed" mode.                   
  1991.  
  1992.    Syntax:     
  1993.      c_CtrlCode = VS_CondOff()                                             
  1994.  
  1995.    Pass:       
  1996.      Nothing                                                               
  1997.  
  1998.    Return:     
  1999.      c_CtrlCode is a character expression that will contain the        
  2000.      necessary codes to make the currently selected printer stop printing  
  2001.      in "Condensed" mode.                                                  
  2002.  
  2003.    Notes:      
  2004.      If a printer has not yet been selected, VS_CondOff() will call        
  2005.      VS_InitPrtr().                                                        
  2006.  
  2007.    Example:    
  2008.      SET PRINT ON                                                          
  2009.                                                                            
  2010.         ? VS_CondOn()                                                      
  2011.         ? [This is in "Condensed"]                                         
  2012.         ? [So is this]                                                     
  2013.         ? VS_CondOff()                                                     
  2014.                                                                            
  2015.      SET PRINT OFF                                                         
  2016.  
  2017.    Usage:      
  2018.  
  2019.    See Also:   
  2020.      VS_InitPrtr() VS_Cond() VS_CondOn() STRUCT.NGO:Printers               
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.                         Vern Six's Clipper ToolBox v8.00                        
  2040.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2041.  
  2042.                                      - 31 -                                     
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.    VS_CondOn()          Returns the codes to turn "Condensed" on          
  2053.  
  2054.    Description:
  2055.      VS_CondOn() returns the necessary codes to make the currently selected
  2056.      printer print in "Condensed" mode.                                    
  2057.  
  2058.    Syntax:     
  2059.      c_CtrlCode = VS_CondOn()                                              
  2060.  
  2061.    Pass:       
  2062.      Nothing                                                               
  2063.  
  2064.    Return:     
  2065.      c_CtrlCode is a character expression that will contain the        
  2066.      necessary codes to make the currently selected printer print in       
  2067.      "Condensed" mode.                                                     
  2068.  
  2069.    Notes:      
  2070.      If a printer has not yet been selected, VS_CondOn() will call         
  2071.      VS_InitPrtr().                                                        
  2072.  
  2073.    Example:    
  2074.      SET PRINT ON                                                          
  2075.                                                                            
  2076.         ? VS_CondOn()                                                      
  2077.         ? [This will be in "Condensed" mode]                               
  2078.         ? [So will this]                                                   
  2079.         ? VS_CondOff()                                                     
  2080.                                                                            
  2081.      SET PRINT OFF                                                         
  2082.  
  2083.    Usage:      
  2084.  
  2085.    See Also:   
  2086.      VS_InitPrtr() VS_Cond() VS_CondOff() STRUCT.NGO:Printers              
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.                         Vern Six's Clipper ToolBox v8.00                        
  2106.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2107.  
  2108.                                      - 32 -                                     
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.    VS_Coord()           Allows the user to size a box on the screen       
  2119.  
  2120.    Description:
  2121.      VS_Coord allows the user to size a box on the screen through the use  
  2122.      of the cursor control keys.  It returns the top left and bottom right 
  2123.      coordinates to your program.                                          
  2124.  
  2125.    Syntax:     
  2126.      VS_Coord( @n_top, @n_Left, @n_Bottom, @n_Right )                      
  2127.  
  2128.    Pass:       
  2129.      n_Top is a numeric value representing the starting top row.       
  2130.                                                                            
  2131.      n_Left is a numeric value representing the starting left column.  
  2132.                                                                            
  2133.      n_Bottom is a numeric value representing the starting bottom row. 
  2134.                                                                            
  2135.      n_Right is a numeric value representing the starting right column.
  2136.  
  2137.    Return:     
  2138.      Your variables will be changed to the new coordinate values.          
  2139.  
  2140.    Notes:      
  2141.      Please note the "@" sign preceeding each parameter.  This is required 
  2142.      in order for VS_COORD to psuedo-return all four changed coordinates.  
  2143.  
  2144.    Example:    
  2145.      VS_Coord( @n_Top, @n_Left, @n_Bottom, @n_Right)                       
  2146.  
  2147.    Usage:      
  2148.      VS_Coord() is handy for allowing the user to tell your program exactly
  2149.      where he/she wants a window, etc.                                     
  2150.                                                                            
  2151.      When this procedure is called the user will see a box appear on the   
  2152.      screen (at the starting coordinates you specified).  The cursor will  
  2153.      be in the upper left corner of the box.  The user can move this corner
  2154.      of the box around the screen by using the cursor control keys.        
  2155.                                                                            
  2156.      To move the cursor to the opposite corner of the box, the user should 
  2157.      press the [HOME] key.  He/she can now move this corner of the box     
  2158.      around the screen in the same fashion as the previous corner.         
  2159.                                                                            
  2160.      Pressing [HOME] again will move the cursor back to the first corner.  
  2161.      The [HOME] key can be used as many times as necessary to toggle which 
  2162.      corner is being "moved".                                              
  2163.                                                                            
  2164.      When the box is the right size and in the correct location, the user  
  2165.      should press the [RETURN] key.                                        
  2166.  
  2167.    See Also:   
  2168.      VS_Help() VS_MakeHlp() VS_Wind()                                      
  2169.  
  2170.  
  2171.                         Vern Six's Clipper ToolBox v8.00                        
  2172.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2173.  
  2174.                                      - 33 -                                     
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185.  
  2186.  
  2187.  
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.                         Vern Six's Clipper ToolBox v8.00                        
  2238.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2239.  
  2240.                                      - 34 -                                     
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.    VS_Correct()         Prompts user for "correctness" of the screen      
  2251.  
  2252.    Description:
  2253.      VS_Correct() allows the programmer to quickly verify that the input   
  2254.      screen is correct before proceeding.                                  
  2255.  
  2256.    Syntax:     
  2257.      n_Choice = VS_Correct()                                               
  2258.  
  2259.    Pass:       
  2260.      Nothing                                                               
  2261.  
  2262.    Return:     
  2263.      n_Choice is a numeric expression that will be one of the following
  2264.      based on the user's input...                                          
  2265.                                                                            
  2266.         ---------------                                                    
  2267.         Value   Meaning                                                    
  2268.         ---------------                                                    
  2269.           1     Yes                                                        
  2270.           2     No                                                         
  2271.           3     Cancel                                                     
  2272.  
  2273.    Notes:      
  2274.      The user can move the "query" box up and down on the screen to reveal 
  2275.      text/data that it covers.  This provides total screen viewing before  
  2276.      answering the query.                                                  
  2277.  
  2278.    Example:    
  2279.  
  2280.    Usage:      
  2281.  
  2282.    See Also:   
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.                         Vern Six's Clipper ToolBox v8.00                        
  2304.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2305.  
  2306.                                      - 35 -                                     
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.    VS_CreateHelp()      Create the HELP database.                         
  2317.  
  2318.    Description:
  2319.      VS_CreateHelp() is a simple little function that will create the files
  2320.      HELP.DBF, HELP.DBF and HELP.NTX.                                      
  2321.  
  2322.    Syntax:     
  2323.      VS_CreateHelp()                                                       
  2324.  
  2325.    Pass:       
  2326.      Nothing                                                               
  2327.  
  2328.    Return:     
  2329.      Nothing                                                               
  2330.  
  2331.    Notes:      
  2332.      VS_CreateHelp() does not open the help files for use.                 
  2333.  
  2334.    Example:    
  2335.      VS_CreateHelp()                                                       
  2336.  
  2337.    Usage:      
  2338.  
  2339.    See Also:   
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.                         Vern Six's Clipper ToolBox v8.00                        
  2370.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2371.  
  2372.                                      - 36 -                                     
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.    VS_Cvt2Str()         Convert any data type to string                   
  2383.  
  2384.    Description:
  2385.      VS_Cvt2Str() will convert an expression of any data type to a         
  2386.      character expression.                                                 
  2387.  
  2388.    Syntax:     
  2389.      c_String = VS_Cvt2Str( SomeData, [l_OnOff] )                          
  2390.  
  2391.    Pass:       
  2392.      SomeData is any valid data expression to be converted to a string.
  2393.                                                                            
  2394.      l_OnOff is a logical expression.  If .T., VS_Cvt2Str() will       
  2395.      convert SomeData to either "ON" or "OFF" if SomeData is a     
  2396.      logical expression.  If .F., VS_Cvt2Str() will convert SomeData to
  2397.      either "YES" or "NO" if SomeData is a logical expression.         
  2398.  
  2399.    Return:     
  2400.      c_String is a character expression containing the character       
  2401.      representation of SomeData.                                       
  2402.  
  2403.    Notes:      
  2404.  
  2405.    Example:    
  2406.      QOut("["+VS_Cvt2Str(.T.,.T.)+"]")   // Output: [ON]                   
  2407.      QOut("["+VS_Cvt2Str(.F.,.T.)+"]")   // Output: [OFF]                  
  2408.      QOut("["+VS_Cvt2Str(.T.,.F.)+"]")   // Output: [YES]                  
  2409.      QOut("["+VS_Cvt2Str(.F.,.F.)+"]")   // Output: [NO]                   
  2410.      QOut("["+VS_Cvt2Str(98)+"]")        // Output: [98]                   
  2411.  
  2412.    Usage:      
  2413.  
  2414.    See Also:   
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.                         Vern Six's Clipper ToolBox v8.00                        
  2436.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2437.  
  2438.                                      - 37 -                                     
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.    VS_CvtCode()         Converts a "Lotus" style printer string           
  2449.  
  2450.    Description:
  2451.      VS_CvtCode() converts a "Lotus" stylle control string to a "true"     
  2452.      ASCII string. i.e. "\027E"                                            
  2453.  
  2454.    Syntax:     
  2455.      c_True = VS_CvtCode( c_Lotus )                                        
  2456.  
  2457.    Pass:       
  2458.      c_Lotus is a character expression that represents the "Lotus"     
  2459.      style string to convert. i.e. "\027E"                                 
  2460.  
  2461.    Return:     
  2462.      c_True is a character expression that represents the converted    
  2463.      "Lotus" string in "true" ASCII form.                                  
  2464.  
  2465.    Notes:      
  2466.  
  2467.    Example:    
  2468.      c_Code = VS_CvtCode("\012\124\251")                                   
  2469.                                                                            
  2470.      is the same as....                                                    
  2471.                                                                            
  2472.      c_Code = CHR(12) + CHR(124) + CHR(251)                                
  2473.  
  2474.    Usage:      
  2475.      VS_CvtCode() is primarily used by VS_InitPrtr() to allow the user a   
  2476.      convienent method for enter otherwise "un-typeable" ASCII characters. 
  2477.  
  2478.    See Also:   
  2479.      VS_InitPrtr()                                                         
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.                         Vern Six's Clipper ToolBox v8.00                        
  2502.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2503.  
  2504.                                      - 38 -                                     
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514.    VS_DateTime()        Returns a numeric "date/time" value               
  2515.  
  2516.    Description:
  2517.      VS_DateTime() returns a numeric "date/time" value for a specified date
  2518.      and time.                                                             
  2519.  
  2520.    Syntax:     
  2521.      n_DateTime = VS_DateTime( d_Date, c_Time )                            
  2522.  
  2523.    Pass:       
  2524.      d_Date is a date expression (ex: DATE()) that should contain the  
  2525.      date of the value you want returned from VS_DateTime().               
  2526.                                                                            
  2527.      c_Time is a character-time expression (ex: TIME()) that should    
  2528.      contain the time of the value you want returned from VS_DateTime().   
  2529.  
  2530.    Return:     
  2531.      n_DateTime is a numeric value that will represent the date and    
  2532.      time you specified in your call to VS_DateTime().                     
  2533.  
  2534.    Notes:      
  2535.      If you are going to store the numeric "date/time" in a database, you  
  2536.      should define the field as a type of NUMERIC with a length of 16 and  
  2537.      decimals of 5.                                                        
  2538.  
  2539.    Example:    
  2540.      n_Start = VS_DateTime( DATE(), TIME() )                               
  2541.      wait                                                                  
  2542.      n_ElapSecs = VS_ElapSecs( n_Start, VS_DateTime(DATE(),TIME()) )       
  2543.      QOut( "You waited ", n_ElapSecs, " seconds!" )                        
  2544.      ...                                                                   
  2545.  
  2546.    Usage:      
  2547.      VS_DateTime() allows you to retrieve a date/time all in one variable  
  2548.      instead of Clipper's cumbersome DATE() and TIME() functions.          
  2549.  
  2550.    See Also:   
  2551.      VS_GetDate() VS_GetTime()                                             
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.                         Vern Six's Clipper ToolBox v8.00                        
  2568.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2569.  
  2570.                                      - 39 -                                     
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.    VS_DbfList()         Returns a list of all databases in dictionary     
  2581.  
  2582.    Description:
  2583.      VS_DbfList() allows the programmer to quickly obtain a list of all the
  2584.      databases currently defined in the data dictionary.                   
  2585.  
  2586.    Syntax:     
  2587.      ac_Dbflist = VS_DbfList()                                             
  2588.  
  2589.    Pass:       
  2590.      Nothing                                                               
  2591.  
  2592.    Return:     
  2593.      ac_DbfList is an array of character expression, each representing 
  2594.      the name of a database listed in the data dictionary.                 
  2595.  
  2596.    Notes:      
  2597.  
  2598.    Example:    
  2599.  
  2600.    Usage:      
  2601.  
  2602.    See Also:   
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.                         Vern Six's Clipper ToolBox v8.00                        
  2634.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2635.  
  2636.                                      - 40 -                                     
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.    VS_Dbl()             Print a string in "Double width" mode             
  2647.  
  2648.    Description:
  2649.      VS_Dbl() returns the appropriate control codes to make the currently  
  2650.      selected printer print in "Double width" mode.                        
  2651.  
  2652.    Syntax:     
  2653.      c_CtrlCode = VS_Dbl( c_String )                                       
  2654.  
  2655.    Pass:       
  2656.      c_String is a character expression containing the value to print. 
  2657.  
  2658.    Return:     
  2659.      c_CtrlCode is a character expression that represents the necessary
  2660.      control codes to print c_String in "Double width" mode.           
  2661.  
  2662.    Notes:      
  2663.      If a printer has not yet been selected, VS_Dbl() will call            
  2664.      VS_InitPrtr().                                                        
  2665.  
  2666.    Example:    
  2667.      SET PRINT ON                                                          
  2668.         ? VS_Dbl([This will be in "Double width" mode.])                   
  2669.      SET PRINT OFF                                                         
  2670.  
  2671.    Usage:      
  2672.  
  2673.    See Also:   
  2674.      VS_InitPrtr() VS_DblOn() VS_DblOff() STRUCT.NGO:Printers              
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.                         Vern Six's Clipper ToolBox v8.00                        
  2700.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2701.  
  2702.                                      - 41 -                                     
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.  
  2712.    VS_DblOff()          Returns the codes to turn "Double width" off      
  2713.  
  2714.    Description:
  2715.      VS_DblOff() returns the necessary codes to make the currently selected
  2716.      printer stop printing in "Double width" mode.                         
  2717.  
  2718.    Syntax:     
  2719.      c_CtrlCode = VS_DblOff()                                              
  2720.  
  2721.    Pass:       
  2722.      Nothing                                                               
  2723.  
  2724.    Return:     
  2725.      c_CtrlCode is a character expression that will contain the        
  2726.      necessary codes to make the currently selected printer stop printing  
  2727.      in "Double width" mode.                                               
  2728.  
  2729.    Notes:      
  2730.      If a printer has not yet been selected, VS_DblOff() will call         
  2731.      VS_InitPrtr().                                                        
  2732.  
  2733.    Example:    
  2734.      SET PRINT ON                                                          
  2735.                                                                            
  2736.         ? VS_DblOn()                                                       
  2737.         ? [This is in "Double width"]                                      
  2738.         ? [So is this]                                                     
  2739.         ? VS_DblOff()                                                      
  2740.                                                                            
  2741.      SET PRINT OFF                                                         
  2742.  
  2743.    Usage:      
  2744.  
  2745.    See Also:   
  2746.      VS_InitPrtr() VS_Dbl() VS_DblOn() STRUCT.NGO:Printers                 
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.                         Vern Six's Clipper ToolBox v8.00                        
  2766.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2767.  
  2768.                                      - 42 -                                     
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.    VS_DblOn()           Returns the codes to turn "Double width" on       
  2779.  
  2780.    Description:
  2781.      VS_DblOn() returns the necessary codes to make the currently selected 
  2782.      printer print in "Double width" mode.                                 
  2783.  
  2784.    Syntax:     
  2785.      c_CtrlCode = VS_DblOn()                                               
  2786.  
  2787.    Pass:       
  2788.      Nothing                                                               
  2789.  
  2790.    Return:     
  2791.      c_CtrlCode is a character expression that will contain the        
  2792.      necessary codes to make the currently selected printer print in       
  2793.      "Double width" mode.                                                  
  2794.  
  2795.    Notes:      
  2796.      If a printer has not yet been selected, VS_DblOn() will call          
  2797.      VS_InitPrtr().                                                        
  2798.  
  2799.    Example:    
  2800.      SET PRINT ON                                                          
  2801.                                                                            
  2802.         ? VS_DblOn()                                                       
  2803.         ? [This will be in "Double width" mode]                            
  2804.         ? [So will this]                                                   
  2805.         ? VS_DblOff()                                                      
  2806.                                                                            
  2807.      SET PRINT OFF                                                         
  2808.  
  2809.    Usage:      
  2810.  
  2811.    See Also:   
  2812.      VS_InitPrtr() VS_Dbl() VS_DblOff() STRUCT.NGO:Printers                
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.                         Vern Six's Clipper ToolBox v8.00                        
  2832.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2833.  
  2834.                                      - 43 -                                     
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.    VS_DecTo36()         Converts an integer to a base 36 number           
  2845.  
  2846.    Description:
  2847.      VS_DecTo36() converts an integer to a base 36 number.                 
  2848.  
  2849.    Syntax:     
  2850.      c_Base36Nmbr = VS_DecTo36( n_Integer )                                
  2851.  
  2852.    Pass:       
  2853.      n_Integer is the numeric (integer) value to convert to a base 36  
  2854.      number.                                                               
  2855.  
  2856.    Return:     
  2857.      c_Base36Nmbr is a character expression containing the converted   
  2858.      n_Integer                                                         
  2859.  
  2860.    Notes:      
  2861.      VS_DecTo36() always returns a string exactly six characters in length 
  2862.      (padded on the left with zeros)                                       
  2863.  
  2864.    Example:    
  2865.      ? VS_DecTo36( 14 )   // Prints: 00000E                                
  2866.                                                                            
  2867.  
  2868.    Usage:      
  2869.      VS_DecTo36() is useful for creating "signature" fields for use in     
  2870.      multi-user databases, etc.                                            
  2871.  
  2872.    See Also:   
  2873.      VS_Unique()                                                           
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.                         Vern Six's Clipper ToolBox v8.00                        
  2898.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2899.  
  2900.                                      - 44 -                                     
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.  
  2910.    VS_Decrypt()         Decrypts a string encrypted with VS_Encrypt()     
  2911.  
  2912.    Description:
  2913.      VS_Decrypt() is used to decrypt a string that you previously encrypted
  2914.      with VS_Encrypt().                                                    
  2915.  
  2916.    Syntax:     
  2917.      c_String = VS_Decrypt( c_Encrypted, n_Key )                           
  2918.  
  2919.    Pass:       
  2920.      c_Encrypted is a character expression containing the value you    
  2921.      want to decrypt.  (NOTE: This must be same value returned from        
  2922.      VS_Encrypt())                                                         
  2923.                                                                            
  2924.      n_Key is a numeric value containing the "lock key" you specified  
  2925.      when you made the original call to VS_Encrypt().  If you do not       
  2926.      specify the same value for n_Key you will receive garbage from    
  2927.      VS_Decrypt().                                                         
  2928.  
  2929.    Return:     
  2930.      c_String is a character expression containing the decrypted value 
  2931.      for c_Encrypted.                                                  
  2932.  
  2933.    Notes:      
  2934.      To properly decrypt a string, you must used the same value for        
  2935.      n_Key!!                                                           
  2936.  
  2937.    Example:    
  2938.  
  2939.    Usage:      
  2940.      VS_Decrypt() is used to decrypt data that you have previously         
  2941.      encrypted with VS_Encrypt().                                          
  2942.  
  2943.    See Also:   
  2944.      VS_Encrypt()                                                          
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.                         Vern Six's Clipper ToolBox v8.00                        
  2964.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  2965.  
  2966.                                      - 45 -                                     
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.    VS_DefPal()          Sets the color palette defaults                   
  2977.  
  2978.    Description:
  2979.      VS_DefPal() is called by VERNSIX.LIB when the configuration database  
  2980.      is initially created.  This is the function the programmer should     
  2981.      change if he/she doesn't like the initial color settings.             
  2982.  
  2983.    Syntax:     
  2984.      VS_DEFPAL( n_Palette )                                                
  2985.  
  2986.    Pass:       
  2987.      n_Palette is a numeric value representing the palette number to   
  2988.      set to default color.                                                 
  2989.  
  2990.    Return:     
  2991.      VS_DefPal() always returns NIL                                        
  2992.  
  2993.    Notes:      
  2994.  
  2995.    Example:    
  2996.      VS_DefPal(1)   && Resets color palette number 1                       
  2997.      VS_SaveClr()   && Saves changes to disk                               
  2998.  
  2999.    Usage:      
  3000.      The programmer should rarely have a need to use this function, but it 
  3001.      is important he/she know this is the function to modify to change the 
  3002.      initial color settings.                                               
  3003.  
  3004.    See Also:   
  3005.      VS_Palette() VS_SaveClr() VS_ReadClr()                                
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.                         Vern Six's Clipper ToolBox v8.00                        
  3030.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3031.  
  3032.                                      - 46 -                                     
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042.    VS_DelRec()          Delete a record so VS_AddRec() can re-use it      
  3043.  
  3044.    Description:
  3045.      VS_DelRec() deletes the current record in the database associated with
  3046.      the current work area.  VS_DelRec() will first attempt to obtain a    
  3047.      record lock on the current record.  If successfully locked,           
  3048.      VS_DelRec() will reset each field in the record to the empty value for
  3049.      its field type and then mark the record for deletion. VS_DelRec()     
  3050.      releases the record lock before returning!                            
  3051.  
  3052.    Syntax:     
  3053.      l_Deleted = VS_DelRec()                                               
  3054.  
  3055.    Pass:       
  3056.      Nothing                                                               
  3057.  
  3058.    Return:     
  3059.      l_Deleted is a logical expression that will be set to .T. if the  
  3060.      current record was successfully deleted, otherwise .F.                
  3061.  
  3062.    Notes:      
  3063.      Because VS_DelRec() resets each field to its empty value, EXTREME care
  3064.      should be taken with regard to index location, etc.                   
  3065.  
  3066.    Example:    
  3067.      * The following example will delete all records with the              
  3068.      * last name of "SMITH"                                                
  3069.                                                                            
  3070.      DO WHILE .T.                                                          
  3071.                                                                            
  3072.         SEEK "SMITH"    && continually SEEKing is necessary                
  3073.                         && because we are reseting the key                 
  3074.                         && field (and all fields) to its                   
  3075.                         && empty value, thus changing the                  
  3076.                         && position within the index!!!!!                  
  3077.                                                                            
  3078.         IF .NOT. FOUND()                                                   
  3079.            EXIT                                                            
  3080.         ENDIF                                                              
  3081.                                                                            
  3082.         IF .NOT. VS_DelRec()                                               
  3083.            VS_DIE("Couldn't delete a record!")                             
  3084.         ENDIF                                                              
  3085.                                                                            
  3086.      ENDDO                                                                 
  3087.  
  3088.    Usage:      
  3089.  
  3090.    See Also:   
  3091.      VS_AddRec()                                                           
  3092.  
  3093.  
  3094.  
  3095.                         Vern Six's Clipper ToolBox v8.00                        
  3096.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3097.  
  3098.                                      - 47 -                                     
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.  
  3161.                         Vern Six's Clipper ToolBox v8.00                        
  3162.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3163.  
  3164.                                      - 48 -                                     
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.    VS_DictPath()        Returns the path for a given database file        
  3175.  
  3176.    Description:
  3177.      VS_DictPath() will return the path for a given database name, as it   
  3178.      exists in the data dictionary.                                        
  3179.  
  3180.    Syntax:     
  3181.      c_Path = VS_DictPath( c_DbfName )                                     
  3182.  
  3183.    Pass:       
  3184.      c_DbfName is a character expression representing the database name
  3185.      to locate.                                                            
  3186.  
  3187.    Return:     
  3188.      c_Path is a character expression that will contain the full path  
  3189.      to a database file as it is defined in the data dictionary.           
  3190.  
  3191.    Notes:      
  3192.  
  3193.    Example:    
  3194.      c_Path = VS_DictPath( "VENDOR" )                                      
  3195.  
  3196.    Usage:      
  3197.  
  3198.    See Also:   
  3199.      STRUCT.NGO:Data                                                       
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.                         Vern Six's Clipper ToolBox v8.00                        
  3228.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3229.  
  3230.                                      - 49 -                                     
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.    VS_DictStru()        Returns a structure of a given database file      
  3241.  
  3242.    Description:
  3243.      VS_DictStru() will return a structure of a database as a              
  3244.      multi-dimensional array (in the same format as dbStruct()).           
  3245.  
  3246.    Syntax:     
  3247.      a_DictStru = VS_DictStru( c_DbfName )                                 
  3248.  
  3249.    Pass:       
  3250.      c_DbfName is a character expression representing the database to  
  3251.      retrieve the structure for.                                           
  3252.  
  3253.    Return:     
  3254.      a_DictStru is a multi-dimensional array containing the structure  
  3255.      of the specified database.  a_DictStru will be in the same format 
  3256.      as the array returned by dbStruct().                                  
  3257.  
  3258.    Notes:      
  3259.  
  3260.    Example:    
  3261.      a_DictStru = VS_DictStru( "VENDOR" )                                  
  3262.  
  3263.    Usage:      
  3264.  
  3265.    See Also:   
  3266.      Struct.Ngo:Data                                                       
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.                         Vern Six's Clipper ToolBox v8.00                        
  3294.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3295.  
  3296.                                      - 50 -                                     
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306.    VS_DictVar()         Set the environment variable that VS_OpenDbf() use
  3307.  
  3308.    Description:
  3309.      VS_OpenDbf() normally looks for the data dictionary in the default    
  3310.      directory unless you have an environment variable DATADICT (ex: SET   
  3311.      DATADICT=D:\DATAPATH\) declared.  VS_DictVar() allows you to          
  3312.      change/read the environment variable that VS_OpenDbf() will use.      
  3313.  
  3314.    Syntax:     
  3315.      c_CurrentVar = VS_DictVar( [c_NewVariable] )                          
  3316.  
  3317.    Pass:       
  3318.      c_NewVariable is an optional character expression that should     
  3319.      contain the name of the environment variable you want VS_OpenDbf() to 
  3320.      use.                                                                  
  3321.  
  3322.    Return:     
  3323.      c_CurrentVar is a character expression that will contain the name 
  3324.      of the current environment variable that VS_OpenDbf() uses for        
  3325.      determining the location of your data dictionary.                     
  3326.  
  3327.    Notes:      
  3328.  
  3329.    Example:    
  3330.      c_OldVar = VS_DictVar( "MYDICT" )                                     
  3331.         ...                                                                
  3332.         VS_OpenDbf( "MYFILE" )                                             
  3333.         ...                                                                
  3334.      VS_DictVar( c_OldVar )                                                
  3335.      ...                                                                   
  3336.  
  3337.    Usage:      
  3338.      VS_DictVar() allows you to set a different environment variable for   
  3339.      each seperate application that you use.                               
  3340.  
  3341.    See Also:   
  3342.      VS_OpenDbf()                                                          
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.                         Vern Six's Clipper ToolBox v8.00                        
  3360.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3361.  
  3362.                                      - 51 -                                     
  3363.  
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.  
  3372.    VS_Die()             Alert the user of a serious error                 
  3373.  
  3374.    Description:
  3375.      VS_Die() will display up to three lines of text as provided by the    
  3376.      programmer. It will also display the message "Program Execution       
  3377.      Halted". It will then EXIT after the user presses a key.  VS_Die()'s  
  3378.      main use is to provide a way to inform the user of an error in program
  3379.      operation before shutting down.                                       
  3380.  
  3381.    Syntax:     
  3382.      VS_Die( c_Msg1, [c_Msg2], [c_Msg3] )                                  
  3383.  
  3384.    Pass:       
  3385.      c_Msg1 is a character expression that should contain the first    
  3386.      line of text to show the user.                                        
  3387.                                                                            
  3388.      c_Msg2 is an optional character expression that should contain the
  3389.      second line of text to show the user.                                 
  3390.                                                                            
  3391.      c_Msg is an optional character expression that should contain the 
  3392.      third line of text to show the user.                                  
  3393.  
  3394.    Return:     
  3395.      VS_Die() does not return!  It will issue a QUIT command.              
  3396.  
  3397.    Notes:      
  3398.  
  3399.    Example:    
  3400.      IF error = .T.                                                        
  3401.          VS_DIE("An Error Got You!!!", "Better Luck Next Time", "This will 
  3402.      be line three")                                                       
  3403.      ENDIF                                                                 
  3404.  
  3405.    Usage:      
  3406.      VS_Die() is a quick and dirty way to leave your application after     
  3407.      telling the user some important message (such as why the shut down was
  3408.      necessary).                                                           
  3409.  
  3410.    See Also:   
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.                         Vern Six's Clipper ToolBox v8.00                        
  3426.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3427.  
  3428.                                      - 52 -                                     
  3429.  
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.    VS_Dim()             Dim an area of the screen                         
  3439.  
  3440.    Description:
  3441.      VS_Dim() will dim a rectangluar area of the screen for use as shadows,
  3442.      etc.                                                                  
  3443.  
  3444.    Syntax:     
  3445.      VS_Dim( n_Top, n_Left, n_Bottom, n_Right )                            
  3446.  
  3447.    Pass:       
  3448.      n_Top is a numeric value representing the top row of the          
  3449.      rectangular region of the screen to dim.                              
  3450.                                                                            
  3451.      n_Left is a numeric value representing the left column of the     
  3452.      rectangular region of the screen to dim.                              
  3453.                                                                            
  3454.      n_Bottom is a numeric value representing the bottom row of the    
  3455.      rectangular region of the screen to dim.                              
  3456.                                                                            
  3457.      n_Right is a numeric value representing the right column of the   
  3458.      rectangular region of the screen to dim.                              
  3459.  
  3460.    Return:     
  3461.      VS_Dim() always returns NIL                                           
  3462.  
  3463.    Notes:      
  3464.  
  3465.    Example:    
  3466.      VS_Dim(5,5,20,75)                                                     
  3467.  
  3468.    Usage:      
  3469.      VS_Dim() is called by VS_Wind() to produce the "shadow" effect around 
  3470.      the windows.                                                          
  3471.  
  3472.    See Also:   
  3473.      VS_Wind()                                                             
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.  
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.                         Vern Six's Clipper ToolBox v8.00                        
  3492.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3493.  
  3494.                                      - 53 -                                     
  3495.  
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.  
  3502.  
  3503.  
  3504.    VS_Dol2Str()         Converts a number to a "dollar" string            
  3505.  
  3506.    Description:
  3507.      VS_Dol2Str() takes a numeric amount (similar to that on most checks)  
  3508.      and converts it to a "long-hand" representation of that number.  i.e. 
  3509.      124.34 becomes "One Hundred Twenty Four & 34/100 dollars"             
  3510.  
  3511.    Syntax:     
  3512.      c_String = VS_Dol2Str( n_Amount )                                     
  3513.  
  3514.    Pass:       
  3515.      n_Amount is the numeric value to be converted to a "dollar"       
  3516.      string.                                                               
  3517.  
  3518.    Return:     
  3519.      c_String is a character expression representing the converted     
  3520.      value of n_Amount                                                 
  3521.  
  3522.    Notes:      
  3523.  
  3524.    Example:    
  3525.      ? VS_Dol2Str("129.32")                                                
  3526.                                                                            
  3527.      Output:  One Hundred Twenty Nine & 32/100 Dollars                     
  3528.  
  3529.    Usage:      
  3530.      VS_Dol2Str() is most commonly used when printing checks, etc.         
  3531.  
  3532.    See Also:   
  3533.      VS_Num2Txt()                                                          
  3534.  
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.                         Vern Six's Clipper ToolBox v8.00                        
  3558.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3559.  
  3560.                                      - 54 -                                     
  3561.  
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.  
  3568.  
  3569.  
  3570.    VS_Draft()           Returns the codes to print in "draft" mode        
  3571.  
  3572.    Description:
  3573.      VS_Draft() returns the printer control codes necessary to make the    
  3574.      currently selected printer, print in "DRAFT" mode.                    
  3575.  
  3576.    Syntax:     
  3577.      c_Code = VS_Draft()                                                   
  3578.  
  3579.    Pass:       
  3580.      Nothing                                                               
  3581.  
  3582.    Return:     
  3583.      c_Code is a character expression that will contain the necessary  
  3584.      printer control codes to make the currently selected printer print in 
  3585.      "DRAFT" mode.                                                         
  3586.  
  3587.    Notes:      
  3588.      VS_Draft() will call VS_InitPrtr() if a printer has not yet been      
  3589.      selected.                                                             
  3590.  
  3591.    Example:    
  3592.      SET PRINT ON                                                          
  3593.         ? VS_Draft()+"This will be in draft mode!"                         
  3594.      SET PRINT OFF                                                         
  3595.      ...                                                                   
  3596.  
  3597.    Usage:      
  3598.  
  3599.    See Also:   
  3600.      VS_Nlq() VS_InitPrtr() STRUCT.NGO:Printers                            
  3601.  
  3602.  
  3603.  
  3604.  
  3605.  
  3606.  
  3607.  
  3608.  
  3609.  
  3610.  
  3611.  
  3612.  
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.                         Vern Six's Clipper ToolBox v8.00                        
  3624.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3625.  
  3626.                                      - 55 -                                     
  3627.  
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.    VS_DropScr()         Drops the last screen saved with VS_GrabScr()     
  3637.  
  3638.    Description:
  3639.      VS_DropScr() is used to drop the last screen saved with VS_GrabScr(). 
  3640.      This is normaly used where you have more than one screen saved and    
  3641.      want to return to the main screen. This allows you to get rid of the  
  3642.      extra screen(s).                                                      
  3643.  
  3644.    Syntax:     
  3645.      VS_DropScr()                                                          
  3646.  
  3647.    Pass:       
  3648.      NOTHING                                                               
  3649.  
  3650.    Return:     
  3651.      VS_DropScr() always returns NIL.                                      
  3652.  
  3653.    Notes:      
  3654.      Each time you call VS_DropScr() it will drop the last screen saved    
  3655.      with VS_GrabScr()                                                     
  3656.  
  3657.    Example:    
  3658.      VS_DropScr()                                                          
  3659.  
  3660.    Usage:      
  3661.      VS_DropScr() is most commonly used when you have a need to exit back  
  3662.      through your application because of an event such as an error, etc.   
  3663.  
  3664.    See Also:   
  3665.      VS_GrabScr() VS_PutScr()                                              
  3666.  
  3667.  
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.                         Vern Six's Clipper ToolBox v8.00                        
  3690.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3691.  
  3692.                                      - 56 -                                     
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.    VS_Dte2Txt()         Converts a date expression to character           
  3703.  
  3704.    Description:
  3705.      VS_Dte2Txt() converts a date expression to a specific character       
  3706.      format.                                                               
  3707.  
  3708.    Syntax:     
  3709.      c_String = VS_Dte2Txt( d_Date, n_Style )                              
  3710.  
  3711.    Pass:       
  3712.      d_Date is a date expression to convert to one of the two styles   
  3713.      listed below.                                                         
  3714.                                                                            
  3715.      n_Style is the style in which to convert d_Date.  The         
  3716.      following table shows all the valid styles.                           
  3717.                                                                            
  3718.                ────────────────────────────────────────────────────────────
  3719.                 n_Style    Style                Example                    
  3720.                ────────────────────────────────────────────────────────────
  3721.                    1      Month Date, Yead      January 28, 1991           
  3722.                    2      Date Month Year       28 JAN 91                  
  3723.                ────────────────────────────────────────────────────────────
  3724.  
  3725.    Return:     
  3726.      c_String is a character expression representing the converted     
  3727.      date.                                                                 
  3728.  
  3729.    Notes:      
  3730.      More styles of conversion will be added in the near future.           
  3731.  
  3732.    Example:    
  3733.      ? VS_Dte2Txt( CTOD("01/28/91"), 1)                                    
  3734.                                                                            
  3735.      Output: January 28, 1991                                              
  3736.  
  3737.    Usage:      
  3738.  
  3739.    See Also:   
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.                         Vern Six's Clipper ToolBox v8.00                        
  3756.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3757.  
  3758.                                      - 57 -                                     
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.    VS_EatKeys()         Stops user from bypassing VALID clause w/PgDn     
  3769.  
  3770.    Description:
  3771.      VS_EatKeys() will "eat" the keys "PgDn" and "Ctrl-W" thus prohibiting 
  3772.      your users from using these keys to bypass VALID clauses further down 
  3773.      in a GET/READ.                                                        
  3774.  
  3775.    Syntax:     
  3776.      ... VALID VS_EatKeys( @l_Eating )                                     
  3777.  
  3778.    Pass:       
  3779.      l_Eating is a logical expression that allows VS_EatKeys() to      
  3780.      communicate with other calls to VS_EatKeys().                         
  3781.  
  3782.    Return:     
  3783.      VS_EatKeys() will return a logical value of .T. and will stuff the    
  3784.      keyboard with ASCII character 13 to skip to the next GET/VALID clause 
  3785.      if the user tried to terminate the READ by pressing PgDn or Ctrl-W.,  
  3786.      otherwise it will simply return .T.                                   
  3787.  
  3788.    Notes:      
  3789.      VERY IMPORTANT!!!                                                 
  3790.                                                                            
  3791.      If you are going to use VS_EatKeys() for one GET, you MUST use it for 
  3792.      all GETs within the READ!!!  You can stack it in addition to your     
  3793.      other VALID clauses using .AND., .OR. and .NOT.                       
  3794.  
  3795.    Example:    
  3796.      l_Eating = .F.                                                        
  3797.                                                                            
  3798.      @ 05,10 SAY "Date: " GET d_Today VALID VS_EatKeys(@l_Eating)          
  3799.                                                                            
  3800.      @ 10,10 SAY "Customer Code: " GET c_CustCode ;                        
  3801.       VALID GoodCode() .AND. VS_EatKeys(@l_Eating)                         
  3802.                                                                            
  3803.      @ 20,20 SAY "Something" GET c_SomeThing VALID VS_EatKeys(@l_Eating)   
  3804.                                                                            
  3805.      READ                                                                  
  3806.                                                                            
  3807.      ...                                                                   
  3808.      ...                                                                   
  3809.  
  3810.    Usage:      
  3811.      VS_EatKeys() allows the programmer to ensure that every VALID clause  
  3812.      is processed by disallowing the user to PgDn or Ctrl-W out of a READ. 
  3813.  
  3814.    See Also:   
  3815.      VS_NoOther() VS_NotEmpty() VS_NotNeg() VS_NotPos() VS_NotZero()       
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.                         Vern Six's Clipper ToolBox v8.00                        
  3822.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3823.  
  3824.                                      - 58 -                                     
  3825.  
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.    VS_Edit()            Emulates the dBASE III+ "Edit" command            
  3835.  
  3836.    Description:
  3837.      VS_Edit() emulates the dBASE III+ "Edit" command by allowing the user 
  3838.      to page back and forth through the database records and optionally    
  3839.      edit them.                                                            
  3840.  
  3841.    Syntax:     
  3842.      n_Key = VS_Edit( l_Index )                                            
  3843.  
  3844.    Pass:       
  3845.      l_Index is a logical expression that should contain .T. if        
  3846.      database is indexed otherwise it should contain .F.                   
  3847.  
  3848.    Return:     
  3849.      n_Key is a numeric value representing the INKEY() value of last   
  3850.      key pressed by user.                                                  
  3851.  
  3852.    Notes:      
  3853.  
  3854.    Example:    
  3855.      TEXTSHELL()     && Display all the background stuff                   
  3856.      DO WHILE .T.                                                          
  3857.         DISPFLDS()   && Display fields for current record                  
  3858.         n_Value = VS_EDIT(.T.)                                             
  3859.         DO CASE                                                            
  3860.            CASE n_Value = 13  && [Return]                                  
  3861.               EDITPROG()      && Edit current record                       
  3862.            CASE n_Value = 22  && [Insert]                                  
  3863.               ADD_PROG()      && Add a new record                          
  3864.            CASE n_Value = 27  && [Escape]                                  
  3865.               EXIT                                                         
  3866.         ENDCASE                                                            
  3867.      ENDDO                                                                 
  3868.  
  3869.    Usage:      
  3870.      VS_EDIT() is very useful for working with "flat" databases in that    
  3871.      VS_EDIT() controls all the moving around inside your database and will
  3872.      handle SEEKs based on a pressed key, etc.                             
  3873.                                                                            
  3874.      Valid keys from with VS_EDIT()                                        
  3875.      ----------------------------                                          
  3876.      [HOME]  - Move to first record                                        
  3877.      [END]   - Move to last record                                         
  3878.      [PGUP]  - Move to previous record                                     
  3879.      [PGDN]  - Move to next record                                         
  3880.                                                                            
  3881.      Any AlphaNumeric character invokes a SEEK to the first record         
  3882.      beginning with the pressed key (provided the database has an open     
  3883.      index and l_Index is .T.).                                        
  3884.                                                                            
  3885.  
  3886.  
  3887.                         Vern Six's Clipper ToolBox v8.00                        
  3888.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3889.  
  3890.                                      - 59 -                                     
  3891.  
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.  
  3898.  
  3899.  
  3900.      Any other key causes VS_EDIT() to exit and return the INKEY() value of
  3901.      the pressed key to the calling program.                               
  3902.                                                                            
  3903.      It is your job as the programmer to LOOP to display the records.  i.e.
  3904.      VS_EDIT() will return a value of zero for the four keys listed above  
  3905.      (HOME, END, PGUP, PGDN). If your calling program receives a value of  
  3906.      zero from VS_EDIT() it should merely loop and display the current     
  3907.      record.                                                               
  3908.  
  3909.    See Also:   
  3910.      VS_Pick()*                                                            
  3911.  
  3912.  
  3913.  
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.  
  3920.  
  3921.  
  3922.  
  3923.  
  3924.  
  3925.  
  3926.  
  3927.  
  3928.  
  3929.  
  3930.  
  3931.  
  3932.  
  3933.  
  3934.  
  3935.  
  3936.  
  3937.  
  3938.  
  3939.  
  3940.  
  3941.  
  3942.  
  3943.  
  3944.  
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.                         Vern Six's Clipper ToolBox v8.00                        
  3954.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  3955.  
  3956.                                      - 60 -                                     
  3957.  
  3958.  
  3959.  
  3960.  
  3961.  
  3962.  
  3963.  
  3964.  
  3965.  
  3966.    VS_ElapDays()        Determine elapsed days between two "date/time"    
  3967.  
  3968.    Description:
  3969.      VS_ElapDays() allows you to determine the number of elapsed days      
  3970.      between two "date/time" numeric values.                               
  3971.  
  3972.    Syntax:     
  3973.      n_Days := VS_ElapDays( n_DT1, n_DT2 )                                 
  3974.  
  3975.    Pass:       
  3976.      n_DT1 is a numeric "date/time" value as returned by VS_DateTime() 
  3977.                                                                            
  3978.      n_DT2 is a numeric "date/time" value as returned by VS_DateTime() 
  3979.  
  3980.    Return:     
  3981.      n_Days is numeric value that will contain the number of days      
  3982.      between n_DT1 and n_DT2.                                      
  3983.  
  3984.    Notes:      
  3985.  
  3986.    Example:    
  3987.      n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )                       
  3988.      n_DT2 = VS_DateTime( CTOD("01/10/91"), TIME() )                       
  3989.                                                                            
  3990.      ? VS_ElapDays( n_DT1, n_DT2 )                                         
  3991.  
  3992.    Usage:      
  3993.  
  3994.    See Also:   
  3995.      VS_ElapHours() VS_ElapMins() VS_ElapSecs()                            
  3996.  
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.  
  4003.  
  4004.  
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011.  
  4012.  
  4013.  
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.                         Vern Six's Clipper ToolBox v8.00                        
  4020.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4021.  
  4022.                                      - 61 -                                     
  4023.  
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.  
  4031.  
  4032.    VS_ElapHours()       Determine elapsed hours between two "date/time"   
  4033.  
  4034.    Description:
  4035.      VS_ElapHours() allows you to determine the number of elapsed hours    
  4036.      between two "date/time" numeric values.                               
  4037.  
  4038.    Syntax:     
  4039.      n_Hours := VS_ElapHours( n_DT1, n_DT2 )                               
  4040.  
  4041.    Pass:       
  4042.      n_DT1 is a numeric "date/time" value as returned by VS_DateTime() 
  4043.                                                                            
  4044.      n_DT2 is a numeric "date/time" value as returned by VS_DateTime() 
  4045.  
  4046.    Return:     
  4047.      n_Hours is numeric value that will contain the number of hours    
  4048.      between n_DT1 and n_DT2.                                      
  4049.  
  4050.    Notes:      
  4051.  
  4052.    Example:    
  4053.      n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )                       
  4054.      n_DT2 = VS_DateTime( CTOD("01/10/91"), TIME() )                       
  4055.                                                                            
  4056.      ? VS_ElapHours( n_DT1, n_DT2 )                                        
  4057.  
  4058.    Usage:      
  4059.  
  4060.    See Also:   
  4061.      VS_ElapDays() VS_ElapMins() VS_ElapSecs()                             
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.  
  4071.  
  4072.  
  4073.  
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079.  
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085.                         Vern Six's Clipper ToolBox v8.00                        
  4086.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4087.  
  4088.                                      - 62 -                                     
  4089.  
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.  
  4096.  
  4097.  
  4098.    VS_ElapMins()        Determine elapsed minutes between two "date/time" 
  4099.  
  4100.    Description:
  4101.      VS_ElapMins() allows you to determine the number of elapsed minutes   
  4102.      between two "date/time" numeric values.                               
  4103.  
  4104.    Syntax:     
  4105.      n_Mins := VS_ElapMins( n_DT1, n_DT2 )                                 
  4106.  
  4107.    Pass:       
  4108.      n_DT1 is a numeric "date/time" value as returned by VS_DateTime() 
  4109.                                                                            
  4110.      n_DT2 is a numeric "date/time" value as returned by VS_DateTime() 
  4111.  
  4112.    Return:     
  4113.      n_Mins is numeric value that will contain the number of minutes   
  4114.      between n_DT1 and n_DT2.                                      
  4115.  
  4116.    Notes:      
  4117.  
  4118.    Example:    
  4119.      n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )                       
  4120.      n_DT2 = VS_DateTime( CTOD("01/10/91"), TIME() )                       
  4121.                                                                            
  4122.      ? VS_ElapMins( n_DT1, n_DT2 )                                         
  4123.  
  4124.    Usage:      
  4125.  
  4126.    See Also:   
  4127.      VS_ElapDays() VS_ElapHours() VS_ElapSecs()                            
  4128.  
  4129.  
  4130.  
  4131.  
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.  
  4149.  
  4150.  
  4151.                         Vern Six's Clipper ToolBox v8.00                        
  4152.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4153.  
  4154.                                      - 63 -                                     
  4155.  
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162.  
  4163.  
  4164.    VS_ElapSecs()        Determine elapsed seconds between two "date/time" 
  4165.  
  4166.    Description:
  4167.      VS_ElapSecs() allows you to determine the number of elapsed seconds   
  4168.      between two "date/time" numeric values.                               
  4169.  
  4170.    Syntax:     
  4171.      n_Secs := VS_ElapSecs( n_DT1, n_DT2 )                                 
  4172.  
  4173.    Pass:       
  4174.      n_DT1 is a numeric "date/time" value as returned by VS_DateTime() 
  4175.                                                                            
  4176.      n_DT2 is a numeric "date/time" value as returned by VS_DateTime() 
  4177.  
  4178.    Return:     
  4179.      n_Secs is numeric value that will contain the number of seconds   
  4180.      between n_DT1 and n_DT2.                                      
  4181.  
  4182.    Notes:      
  4183.  
  4184.    Example:    
  4185.      n_DT1 = VS_DateTime( CTOD("01/01/91"), TIME() )                       
  4186.      n_DT2 = VS_DateTime( CTOD("01/10/91"), TIME() )                       
  4187.                                                                            
  4188.      ? VS_ElapSecs( n_DT1, n_DT2 )                                         
  4189.  
  4190.    Usage:      
  4191.  
  4192.    See Also:   
  4193.      VS_ElapDays() VS_ElapHours() VS_ElapMins()                            
  4194.  
  4195.  
  4196.  
  4197.  
  4198.  
  4199.  
  4200.  
  4201.  
  4202.  
  4203.  
  4204.  
  4205.  
  4206.  
  4207.  
  4208.  
  4209.  
  4210.  
  4211.  
  4212.  
  4213.  
  4214.  
  4215.  
  4216.  
  4217.                         Vern Six's Clipper ToolBox v8.00                        
  4218.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4219.  
  4220.                                      - 64 -                                     
  4221.  
  4222.  
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.    VS_Encrypt()         Encrypt a string                                  
  4231.  
  4232.    Description:
  4233.      VS_Encrypt() will encrypt a character expression so it can not be     
  4234.      used/viewed without the appropriate key.                              
  4235.  
  4236.    Syntax:     
  4237.      c_Encrypted = VS_Encrypt( c_String, n_Key )                           
  4238.  
  4239.    Pass:       
  4240.      c_String is a character expression containing the value to        
  4241.      encrypt.                                                              
  4242.                                                                            
  4243.      n_Key is a numeric value containing the "lock key" that           
  4244.      VS_Encrypt() should use when creating the encrypted version of        
  4245.      c_String                                                          
  4246.  
  4247.    Return:     
  4248.      c_Encrypted is a character expression containing the encrypt value
  4249.      of c_String.                                                      
  4250.  
  4251.    Notes:      
  4252.      To properly decrypt a string, you must use the same n_Key!!       
  4253.  
  4254.    Example:    
  4255.      REPLACE SECURITY->PASSWORD WITH VS_Encrypt( "ABCDEFGH", 5208 )        
  4256.                                                                            
  4257.      ...                                                                   
  4258.      ..                                                                    
  4259.  
  4260.    Usage:      
  4261.      VS_Encrypt() is used to keep your data from falling into the wrong    
  4262.      hands/eyes.  If you encrypt your data, the only way it can be viewed  
  4263.      is if the viewing person knows the proper value you used for          
  4264.      n_Key.                                                            
  4265.  
  4266.    See Also:   
  4267.      VS_Decrypt()                                                          
  4268.  
  4269.  
  4270.  
  4271.  
  4272.  
  4273.  
  4274.  
  4275.  
  4276.  
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.                         Vern Six's Clipper ToolBox v8.00                        
  4284.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4285.  
  4286.                                      - 65 -                                     
  4287.  
  4288.  
  4289.  
  4290.  
  4291.  
  4292.  
  4293.  
  4294.  
  4295.  
  4296.    VS_EndText()         Restores screen to status before VS_Text()        
  4297.  
  4298.    Description:
  4299.      VS_EndText() restores the screen to the status prior to the last call 
  4300.      to VS_Text().                                                         
  4301.  
  4302.    Syntax:     
  4303.      VS_EndText()                                                          
  4304.  
  4305.    Pass:       
  4306.      Nothing                                                               
  4307.  
  4308.    Return:     
  4309.      VS_EndText() always returns NIL                                       
  4310.  
  4311.    Notes:      
  4312.      You may also use VS_PutScrn() in place of VS_EndText()                
  4313.  
  4314.    Example:    
  4315.      VS_Text(2,"Please wait while printing...")                            
  4316.         DO RPT_PRG                                                         
  4317.      VS_EndText()                                                          
  4318.  
  4319.    Usage:      
  4320.      VS_EndText() should be "balanced" with calls to VS_Text() (just like  
  4321.      VS_GrabScr() and VS_PutScr()).                                        
  4322.  
  4323.    See Also:   
  4324.      VS_Text() VS_GrabScr() VS_PutScr() VS_DropScr()                       
  4325.  
  4326.  
  4327.  
  4328.  
  4329.  
  4330.  
  4331.  
  4332.  
  4333.  
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.                         Vern Six's Clipper ToolBox v8.00                        
  4350.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4351.  
  4352.                                      - 66 -                                     
  4353.  
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.    VS_FLock()           Locks the currently selected database             
  4363.  
  4364.    Description:
  4365.      VS_FLock() locks the currently selected database file or notifies the 
  4366.      user if unsuccessful.                                                 
  4367.  
  4368.    Syntax:     
  4369.      l_Success = VS_FLock()                                                
  4370.  
  4371.    Pass:       
  4372.      Nothing                                                               
  4373.  
  4374.    Return:     
  4375.      l_Success is a logical expression that will be set to .T. if      
  4376.      successful, otherwise .F.                                             
  4377.  
  4378.    Notes:      
  4379.  
  4380.    Example:    
  4381.      BEGIN SEQUENCE                                                        
  4382.                                                                            
  4383.         IF .NOT. VS_FLOCK()                                                
  4384.            ac_msg[1] = "Unable to lock current file"                       
  4385.            ac_msg[2] = "Operation aborted"                                 
  4386.            VS_MSG(ac_msg,2,"","")                                          
  4387.            INKEY(5)                                                        
  4388.            BREAK                                                           
  4389.         ENDIF                                                              
  4390.         ...                                                                
  4391.                                                                            
  4392.      END SEQUENCE                                                          
  4393.  
  4394.    Usage:      
  4395.      VS_FLock() will try to lock the currently selected database file.  If 
  4396.      it is unsuccessful, a non-screen destructive message stating "Waiting 
  4397.      for busy network. Press any key to abort." will appear on the screen  
  4398.      and VS_FLock() will continue attempting to lock the currently selected
  4399.      database file.  If the user aborts the operation by pressing a key,   
  4400.      VS_FLock() will return a logical value of false.  If VS_FLock()       
  4401.      returns a value of false, it is your job as the programmer to abort   
  4402.      the operation and recover properly.                                   
  4403.  
  4404.    See Also:   
  4405.      VS_FakeLck VS_Append() VS_RLock() VS_Use() VS_AddRec() VS_DelRec()    
  4406.  
  4407.  
  4408.  
  4409.  
  4410.  
  4411.  
  4412.  
  4413.  
  4414.  
  4415.                         Vern Six's Clipper ToolBox v8.00                        
  4416.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4417.  
  4418.                                      - 67 -                                     
  4419.  
  4420.  
  4421.  
  4422.  
  4423.  
  4424.  
  4425.  
  4426.  
  4427.  
  4428.    VS_FakeLck           Simulates a network lock                          
  4429.  
  4430.    Description:
  4431.      VS_FakeLck simulates a network lock for runtime testing of program    
  4432.      logic associated with network file operations.                        
  4433.  
  4434.    Syntax:     
  4435.      SET KEY n_Key TO VS_FAKELCK                                           
  4436.  
  4437.    Pass:       
  4438.      Nothing                                                               
  4439.  
  4440.    Return:     
  4441.      Nothing                                                               
  4442.  
  4443.    Notes:      
  4444.  
  4445.    Example:    
  4446.      To see VS_FAKELCK work, set a key to activate it (I like ALT-L).  Then
  4447.      when your application is running, press ALT-L at some "wait-state".  A
  4448.      non-screen destructive message will appear telling you that the lock  
  4449.      has been turned on or off.  From this point on (until you turn the    
  4450.      lock off again) the network functions in VERNSIX.LIB will all act as  
  4451.      though they have been unsuccessful.                                   
  4452.                                                                            
  4453.      i.e.  SET KEY 294 TO VS_FAKELCK                                       
  4454.  
  4455.    Usage:      
  4456.      VS_FAKELCK will force all of the VERNSIX.LIB network functions to act 
  4457.      as though they were unsuccessful.  This is useful for testing         
  4458.      your program logic to recover from such failures.                     
  4459.  
  4460.    See Also:   
  4461.      VS_APPEND() VS_FLOCK() VS_RLOCK() VS_USE()                            
  4462.  
  4463.  
  4464.  
  4465.  
  4466.  
  4467.  
  4468.  
  4469.  
  4470.  
  4471.  
  4472.  
  4473.  
  4474.  
  4475.  
  4476.  
  4477.  
  4478.  
  4479.  
  4480.  
  4481.                         Vern Six's Clipper ToolBox v8.00                        
  4482.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4483.  
  4484.                                      - 68 -                                     
  4485.  
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.  
  4492.  
  4493.  
  4494.    VS_FileSel()         Queries user for filename matching wildcard       
  4495.  
  4496.    Description:
  4497.      VS_FileSel() allows you to query the user for a file name matching a  
  4498.      wildcard specification.  The user will be able to move a light bar to 
  4499.      the filename that he/she wants to select within a pop-up non-screen   
  4500.      destructive window.                                                   
  4501.  
  4502.    Syntax:     
  4503.      c_FileName = VS_FileSel( c_WildCard, n_Top, n_Left, n_MaxFiles,       
  4504.      c_Title, c_Footnote )                                                 
  4505.  
  4506.    Pass:       
  4507.      c_WildCard is a character expression representing the wildcard of 
  4508.      files to display.                                                     
  4509.                                                                            
  4510.      n_Top is a numeric value for the top row of the window.           
  4511.                                                                            
  4512.      n_Left is a numeric value for the left column of the window.      
  4513.                                                                            
  4514.      n_MaxFiles is a numeric value representing the maximum number of  
  4515.      files to display in the window.                                       
  4516.                                                                            
  4517.      c_Title is a character expression to be displayed at the top of   
  4518.      the window (offset to the left).                                      
  4519.                                                                            
  4520.      c_Footnote is a character expresstion to be displayed at the      
  4521.      bottom of the window (offset to the right).                           
  4522.  
  4523.    Return:     
  4524.      c_FileName is a character expression containing the filename the  
  4525.      user selected                                                         
  4526.  
  4527.    Notes:      
  4528.  
  4529.    Example:    
  4530.      c_FrmName = VS_FILESEL( "*.FRM", 5, 5, 15, "", "" )                   
  4531.      IF .NOT. EMPTY(c_FrmName)                                             
  4532.         REPORT FORM &c_FrmName TO PRINT                                    
  4533.      ENDIF                                                                 
  4534.  
  4535.    Usage:      
  4536.  
  4537.    See Also:   
  4538.      VS_WIND()                                                             
  4539.  
  4540.  
  4541.  
  4542.  
  4543.  
  4544.  
  4545.  
  4546.  
  4547.                         Vern Six's Clipper ToolBox v8.00                        
  4548.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4549.  
  4550.                                      - 69 -                                     
  4551.  
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558.  
  4559.  
  4560.    VS_Filt()            Interactively build a filter                      
  4561.  
  4562.    Description:
  4563.      VS_Filt() provides a non-screen destructive user interface to allow   
  4564.      the user to select a list of fields, logical connectives and          
  4565.      comparison constants from pop-up lightbar windows.                    
  4566.  
  4567.    Syntax:     
  4568.      c_Filter = VS_Filt()                                                  
  4569.  
  4570.    Pass:       
  4571.      Nothing                                                               
  4572.  
  4573.    Return:     
  4574.      c_Filter is a character expresstion that will contain the desired 
  4575.      filter (blank if the user specified "no filter").                     
  4576.  
  4577.    Notes:      
  4578.  
  4579.    Example:    
  4580.      c_Filter = VS_FILT()                                                  
  4581.      IF EMPTY(c_Filter)                                                    
  4582.         c_Filter = ".T."                                                   
  4583.      ENDIF                                                                 
  4584.      DO WHILE &c_Filter                                                    
  4585.         .                                                                  
  4586.         .                                                                  
  4587.         .                                                                  
  4588.         SKIP                                                               
  4589.      ENDDO                                                                 
  4590.  
  4591.    Usage:      
  4592.      VS_Filt() is designed to provide the uninitiated user with an easy    
  4593.      interface to "filter" specification building.  It is database         
  4594.      independent and limits the choices available in the light bar menus to
  4595.      those that are applicable to the variable type selected.  As the user 
  4596.      selects fields, relational operators and comparison constants, the    
  4597.      string VS_Filt() builds is also displayed on the screen.              
  4598.                                                                            
  4599.      VS_Filt() alone is not a powerful function, but when combined with the
  4600.      macro substitution capabilities of Clipper, the two become very       
  4601.      powerful indeed.  The string returned by VS_Filt() is suitable for    
  4602.      macro subsitution in the SET FILTER TO command as well as any FOR     
  4603.      clause in any Clipper command supporting that clause (such as REPORT, 
  4604.      SORT, COPY, LIST, DO WHILE, etc.)                                     
  4605.  
  4606.    See Also:   
  4607.  
  4608.  
  4609.  
  4610.  
  4611.  
  4612.  
  4613.                         Vern Six's Clipper ToolBox v8.00                        
  4614.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4615.  
  4616.                                      - 70 -                                     
  4617.  
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.  
  4624.  
  4625.  
  4626.    VS_FootNote()        Sets the footnote for VS_Text()                   
  4627.  
  4628.    Description:
  4629.      VS_FootNote() sets the footnote that VS_Text() will use for the       
  4630.      windows on subsequent calls.                                          
  4631.  
  4632.    Syntax:     
  4633.      c_OldFootNote = VS_FootNote( c_NewFootNote )                          
  4634.  
  4635.    Pass:       
  4636.      c_NewFootNote is a character expression that should contain the   
  4637.      footnote that you want VS_Text() to use for the windows.              
  4638.  
  4639.    Return:     
  4640.      c_OldFootNote is a character expression that will contain the old 
  4641.      footnote that VS_Text() used for windows.                             
  4642.  
  4643.    Notes:      
  4644.      When VS_Text() is first called c_NewFootNote is assumed to be a   
  4645.      null string.                                                          
  4646.  
  4647.    Example:    
  4648.      c_OldFootNote = VS_FootNote( "Bop a key when ready" )                 
  4649.      VS_Text( 3, "Any day now!" )                                          
  4650.         ...                                                                
  4651.      VS_EndText()                                                          
  4652.      VS_FootNote( c_OldFootNote )  // Restore it!                          
  4653.      ...                                                                   
  4654.  
  4655.    Usage:      
  4656.  
  4657.    See Also:   
  4658.      VS_Text() VS_Title()                                                  
  4659.  
  4660.  
  4661.  
  4662.  
  4663.  
  4664.  
  4665.  
  4666.  
  4667.  
  4668.  
  4669.  
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.  
  4678.  
  4679.                         Vern Six's Clipper ToolBox v8.00                        
  4680.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4681.  
  4682.                                      - 71 -                                     
  4683.  
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.    VS_FormFeed()        Returns the form feed character for printer       
  4693.  
  4694.    Description:
  4695.      VS_FormFeed() returns the control codes to make the selected printer  
  4696.      advance to the top of the next page.                                  
  4697.  
  4698.    Syntax:     
  4699.      c_FormFeed = VS_FormFeed()                                            
  4700.  
  4701.    Pass:       
  4702.      NOTHING                                                               
  4703.  
  4704.    Return:     
  4705.      c_FormFeed is a chacter expression that will contain the control  
  4706.      codes needed to advance the paper to the top of the next page.        
  4707.  
  4708.    Notes:      
  4709.      If a printer has not yet been selected, VS_FormFeed() will call       
  4710.      VS_InitPrtr()                                                         
  4711.  
  4712.    Example:    
  4713.      SET PRINT ON                                                          
  4714.      ? VS_FormFeed()                                                       
  4715.      SET PRINT OFF                                                         
  4716.  
  4717.    Usage:      
  4718.      IF PROW() => VS_LinesPg()                                             
  4719.         VS_FormFeed()                                                      
  4720.      ENDIF                                                                 
  4721.  
  4722.    See Also:   
  4723.      VS_InitPrtr()  VS_LinesPg()                                           
  4724.  
  4725.  
  4726.  
  4727.  
  4728.  
  4729.  
  4730.  
  4731.  
  4732.  
  4733.  
  4734.  
  4735.  
  4736.  
  4737.  
  4738.  
  4739.  
  4740.  
  4741.  
  4742.  
  4743.  
  4744.  
  4745.                         Vern Six's Clipper ToolBox v8.00                        
  4746.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4747.  
  4748.                                      - 72 -                                     
  4749.  
  4750.  
  4751.  
  4752.  
  4753.  
  4754.  
  4755.  
  4756.  
  4757.  
  4758.    VS_GetDate()         Returns a date expression from a "date/time" value
  4759.  
  4760.    Description:
  4761.      VS_GetDate() allows you to retrieve a date expression from a          
  4762.      "date/time" numeric value.                                            
  4763.  
  4764.    Syntax:     
  4765.      d_Date = VS_GetDate( n_DateTime )                                     
  4766.  
  4767.    Pass:       
  4768.      n_DateTime is a numeric "date/time" value as returned by          
  4769.      VS_DateTime().                                                        
  4770.  
  4771.    Return:     
  4772.      d_Date is a date expression of the numeric date/time value.       
  4773.  
  4774.    Notes:      
  4775.  
  4776.    Example:    
  4777.      n_Start = VS_DateTime( DATE(), TIME() )                               
  4778.      ? VS_GetDate( n_Start )                                               
  4779.  
  4780.    Usage:      
  4781.  
  4782.    See Also:   
  4783.      VS_DateTime() VS_GetTime()                                            
  4784.                                                                            
  4785.  
  4786.  
  4787.  
  4788.  
  4789.  
  4790.  
  4791.  
  4792.  
  4793.  
  4794.  
  4795.  
  4796.  
  4797.  
  4798.  
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.  
  4811.                         Vern Six's Clipper ToolBox v8.00                        
  4812.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4813.  
  4814.                                      - 73 -                                     
  4815.  
  4816.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.    VS_GetTime()         Returns a time expression from a "date/time" value
  4825.  
  4826.    Description:
  4827.      VS_GetTime() allows you to retreive a time expression from a numeric  
  4828.      "date/time" value as returned by VS_DateTime().                       
  4829.  
  4830.    Syntax:     
  4831.      c_Time = VS_GetTime( n_DateTime )                                     
  4832.  
  4833.    Pass:       
  4834.      n_DateTime is a numeric "date/time" value as returned by          
  4835.      VS_DateTime().                                                        
  4836.  
  4837.    Return:     
  4838.      c_Time is a character expression containing the date of a numeric 
  4839.      "date/time" value.  c_Time will be in the same format as the      
  4840.      string returned by TIME().                                            
  4841.  
  4842.    Notes:      
  4843.  
  4844.    Example:    
  4845.      n_Start = VS_DateTime(DATE(),TIME())                                  
  4846.      ? VS_GetTime( n_Start )                                               
  4847.  
  4848.    Usage:      
  4849.  
  4850.    See Also:   
  4851.      VS_DateTime() VS_GetDate()                                            
  4852.  
  4853.  
  4854.  
  4855.  
  4856.  
  4857.  
  4858.  
  4859.  
  4860.  
  4861.  
  4862.  
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.  
  4873.  
  4874.  
  4875.  
  4876.  
  4877.                         Vern Six's Clipper ToolBox v8.00                        
  4878.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4879.  
  4880.                                      - 74 -                                     
  4881.  
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.    VS_GrabScr()         Captures the contents of the screen               
  4891.  
  4892.    Description:
  4893.      VS_GrabScr() is actually nothing more than a greatly improved version 
  4894.      of Clipper's 'SAVE SCREEN' command. VS_GrabScr() captures not only the
  4895.      screen image, but also the screen attributes, cursor location, etc.   
  4896.      VS_GrabScr() is designed to be used in conjunction with VS_PutScr()   
  4897.      and VS_DropScr().                                                     
  4898.  
  4899.    Syntax:     
  4900.      VS_GrabScr()                                                          
  4901.  
  4902.    Pass:       
  4903.      Nothing                                                               
  4904.  
  4905.    Return:     
  4906.      VS_GrabScr() always returns NIL.                                      
  4907.  
  4908.    Notes:      
  4909.  
  4910.    Example:    
  4911.      VS_GRABSCR()                                                          
  4912.         ac_msg[1] = "Please wait while printing"                           
  4913.         VS_MSG(ac_msg,1,"","")                                             
  4914.         DO RPT_PRGM                                                        
  4915.      VS_PUTSCR()                                                           
  4916.  
  4917.    Usage:      
  4918.      Clipper's SAVE SCREEN command doesn't quite fit the bill for most     
  4919.      screen save operations.  i.e.  it doesn't save the cursor location or 
  4920.      screen attributes (colors). VS_GRABSCR() saves all of these very      
  4921.      important aspects of your screen and will restore them properly when  
  4922.      you call VS_PUTSCR().                                                 
  4923.  
  4924.    See Also:   
  4925.      VS_DropScr() VS_PutScr()                                              
  4926.  
  4927.  
  4928.  
  4929.  
  4930.  
  4931.  
  4932.  
  4933.  
  4934.  
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.  
  4941.  
  4942.  
  4943.                         Vern Six's Clipper ToolBox v8.00                        
  4944.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  4945.  
  4946.                                      - 75 -                                     
  4947.  
  4948.  
  4949.  
  4950.  
  4951.  
  4952.  
  4953.  
  4954.  
  4955.  
  4956.    VS_Green()           Returns the codes to turn "Green" on              
  4957.  
  4958.    Description:
  4959.      VS_Green() returns the appropriate control codes to make the currently
  4960.      selected printer print in green.                                      
  4961.  
  4962.    Syntax:     
  4963.      c_CtrlCode = VS_Green()                                               
  4964.  
  4965.    Pass:       
  4966.      Nothing                                                               
  4967.  
  4968.    Return:     
  4969.      c_CtrlCode is a character expression that represents the necessary
  4970.      control codes to print in green.                                      
  4971.  
  4972.    Notes:      
  4973.      If a printer has not yet been selected, VS_Green() will call          
  4974.      VS_InitPrtr().                                                        
  4975.                                                                            
  4976.      Note:                                                             
  4977.                                                                            
  4978.      Non-Color printers will be uneffected by the use of this function.    
  4979.  
  4980.    Example:    
  4981.      SET PRINT ON                                                          
  4982.         ? VS_Green() + "This will be in green"                             
  4983.      SET PRINT OFF                                                         
  4984.  
  4985.    Usage:      
  4986.  
  4987.    See Also:   
  4988.      VS_InitPrtr() STRUCT.NGO:Printers                                     
  4989.  
  4990.  
  4991.  
  4992.  
  4993.  
  4994.  
  4995.  
  4996.  
  4997.  
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.  
  5004.  
  5005.  
  5006.  
  5007.  
  5008.  
  5009.                         Vern Six's Clipper ToolBox v8.00                        
  5010.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5011.  
  5012.                                      - 76 -                                     
  5013.  
  5014.  
  5015.  
  5016.  
  5017.  
  5018.  
  5019.  
  5020.  
  5021.  
  5022.    VS_Help()            Context sensitive help for each variable          
  5023.  
  5024.    Description:
  5025.      VS_Help provides a non-screen destructive help window based on the    
  5026.      calling program and variable name.  Help screens can be added at any  
  5027.      time after the program is compiled through the use of the VS_MakeHlp  
  5028.      procedure.  Help windows are COMPLETELY CONTEXT SENSITIVE.            
  5029.  
  5030.    Syntax:     
  5031.      SET KEY n_Key TO VS_HELP                                              
  5032.  
  5033.    Pass:       
  5034.      Nothing                                                               
  5035.  
  5036.    Return:     
  5037.      Nothing                                                               
  5038.  
  5039.    Notes:      
  5040.      You can override the program and variable name by changing the values 
  5041.      of gc_HelpPrg and gc_HelpVar.                                 
  5042.  
  5043.    Example:    
  5044.      SET KEY 28 TO VS_HELP                                                 
  5045.  
  5046.    Usage:      
  5047.      VS_HELP allows the user to request a help window to be displayed that 
  5048.      is specifically for the location that he/she is at within your        
  5049.      application.                                                          
  5050.  
  5051.    See Also:   
  5052.      VS_InitHelp() VS_MakeHlp()                                            
  5053.  
  5054.  
  5055.  
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061.  
  5062.  
  5063.  
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.  
  5075.                         Vern Six's Clipper ToolBox v8.00                        
  5076.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5077.  
  5078.                                      - 77 -                                     
  5079.  
  5080.  
  5081.  
  5082.  
  5083.  
  5084.  
  5085.  
  5086.  
  5087.  
  5088.    VS_HelpDbf()         Returns the current help database                 
  5089.  
  5090.    Description:
  5091.      VS_HelpDbf() allows you to query for the current HELP database.       
  5092.  
  5093.    Syntax:     
  5094.      c_HelpDbf = VS_HelpDbf()                                              
  5095.  
  5096.    Pass:       
  5097.      Nothing                                                               
  5098.  
  5099.    Return:     
  5100.      c_HelpDbf is a character expression that will contain the current 
  5101.      help database name.                                                   
  5102.  
  5103.    Notes:      
  5104.      VS_HelpDbf() does NOT allow you to change the current help database   
  5105.      name.  You must use VS_InitHelp() to change the help database name.   
  5106.  
  5107.    Example:    
  5108.      ? VS_HelpDbf()                                                        
  5109.  
  5110.    Usage:      
  5111.  
  5112.    See Also:   
  5113.      VS_InitHelp()                                                         
  5114.  
  5115.  
  5116.  
  5117.  
  5118.  
  5119.  
  5120.  
  5121.  
  5122.  
  5123.  
  5124.  
  5125.  
  5126.  
  5127.  
  5128.  
  5129.  
  5130.  
  5131.  
  5132.  
  5133.  
  5134.  
  5135.  
  5136.  
  5137.  
  5138.  
  5139.  
  5140.  
  5141.                         Vern Six's Clipper ToolBox v8.00                        
  5142.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5143.  
  5144.                                      - 78 -                                     
  5145.  
  5146.  
  5147.  
  5148.  
  5149.  
  5150.  
  5151.  
  5152.  
  5153.  
  5154.    VS_HelpPrg()         Override PROCNAME() passed w/hotkey               
  5155.  
  5156.    Description:
  5157.      VS_HelpPrg() allows the programmer to override the default PROCNAME() 
  5158.      passed to HELP and MAKEHLP functions by a hotkey.                     
  5159.  
  5160.    Syntax:     
  5161.      VS_HelpPrg( c_NewProc )                                               
  5162.  
  5163.    Pass:       
  5164.      c_NewProc is a character expresion that should contain the name to
  5165.      use in place of the standard PROCNAME() passed to VS_HELP() and       
  5166.      VS_MAKEHLP() by a hotkey press.                                       
  5167.  
  5168.    Return:     
  5169.      Nothing                                                               
  5170.  
  5171.    Notes:      
  5172.  
  5173.    Example:    
  5174.  
  5175.    Usage:      
  5176.  
  5177.    See Also:   
  5178.      VS_Help() VS_MakeHlp() VS_HelpVar()                                   
  5179.  
  5180.  
  5181.  
  5182.  
  5183.  
  5184.  
  5185.  
  5186.  
  5187.  
  5188.  
  5189.  
  5190.  
  5191.  
  5192.  
  5193.  
  5194.  
  5195.  
  5196.  
  5197.  
  5198.  
  5199.  
  5200.  
  5201.  
  5202.  
  5203.  
  5204.  
  5205.  
  5206.  
  5207.                         Vern Six's Clipper ToolBox v8.00                        
  5208.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5209.  
  5210.                                      - 79 -                                     
  5211.  
  5212.  
  5213.  
  5214.  
  5215.  
  5216.  
  5217.  
  5218.  
  5219.  
  5220.    VS_HelpVar()         Override READVAR() passed w/hotkey                
  5221.  
  5222.    Description:
  5223.      VS_HelpVar() allows the programmer to override the default READVAR()  
  5224.      value passed to VS_HELP() and VS_MAKEHLP().                           
  5225.  
  5226.    Syntax:     
  5227.      VS_HelpVar( c_NewVar )                                                
  5228.  
  5229.    Pass:       
  5230.      c_NewVar is a character expression that should contain the value  
  5231.      to use in place of the default READVAR().                             
  5232.  
  5233.    Return:     
  5234.      Nothing                                                               
  5235.  
  5236.    Notes:      
  5237.  
  5238.    Example:    
  5239.  
  5240.    Usage:      
  5241.  
  5242.    See Also:   
  5243.      VS_Help() VS_MakeHlp() VS_HelpPrg()                                   
  5244.  
  5245.  
  5246.  
  5247.  
  5248.  
  5249.  
  5250.  
  5251.  
  5252.  
  5253.  
  5254.  
  5255.  
  5256.  
  5257.  
  5258.  
  5259.  
  5260.  
  5261.  
  5262.  
  5263.  
  5264.  
  5265.  
  5266.  
  5267.  
  5268.  
  5269.  
  5270.  
  5271.  
  5272.  
  5273.                         Vern Six's Clipper ToolBox v8.00                        
  5274.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5275.  
  5276.                                      - 80 -                                     
  5277.  
  5278.  
  5279.  
  5280.  
  5281.  
  5282.  
  5283.  
  5284.  
  5285.  
  5286.    VS_InitHelp()        Opens necessary help files (DBF, DBT & NTX)       
  5287.  
  5288.    Description:
  5289.      VS_InitHlp() opens the necessary files (DBF, DBT and N?X) in the next 
  5290.      available work area, for VS_Help to work properly.                    
  5291.  
  5292.    Syntax:     
  5293.      l_Success = VS_InitHlp( [c_KeyFile], [c_HelpDbf] )                    
  5294.  
  5295.    Pass:       
  5296.      c_KeyFile is an optional character expression that should contain 
  5297.      the filename required for VS_MakeHlp to work properly.  If omitted,   
  5298.      c_FileName defaults to "VERNSIX.DVP"                              
  5299.                                                                            
  5300.      c_HelpDbf is an optional character expression that should contain 
  5301.      the name of the database that VS_Help() and VS_MakeHlp() will use to  
  5302.      store/retrieve help screens.                                          
  5303.  
  5304.    Return:     
  5305.      l_Success is a logical expression which will be .T. if successful 
  5306.      otherwise .F.                                                         
  5307.  
  5308.    Notes:      
  5309.      c_KeyFile can be used to inhibit your users from create/changing  
  5310.      the help screens in your application.                                 
  5311.  
  5312.    Example:    
  5313.      l_Success = VS_InitHelp("yourfile.key","your_dbf")                    
  5314.  
  5315.    Usage:      
  5316.  
  5317.    See Also:   
  5318.      VS_Help() VS_MakeHlp() VS_HelpDbf()                                   
  5319.                                                                            
  5320.  
  5321.  
  5322.  
  5323.  
  5324.  
  5325.  
  5326.  
  5327.  
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.  
  5337.  
  5338.  
  5339.                         Vern Six's Clipper ToolBox v8.00                        
  5340.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5341.  
  5342.                                      - 81 -                                     
  5343.  
  5344.  
  5345.  
  5346.  
  5347.  
  5348.  
  5349.  
  5350.  
  5351.  
  5352.    VS_InitPrtr()        Select/add/edit a printer configuration           
  5353.  
  5354.    Description:
  5355.      VS_InitPrtr() allows the user to select, add, or edit the control     
  5356.      codes for a printer from a pick list of all "known" printers.  The    
  5357.      user can add additional and/or update existing printer control codes. 
  5358.  
  5359.    Syntax:     
  5360.      l_Success = VS_InitPrtr( [l_Return] )                                 
  5361.  
  5362.    Pass:       
  5363.      l_Return is a logical expression that should be set to .T. if you 
  5364.      want VS_InitPrtr() to return immediately if the user has already      
  5365.      selected a printer.  If omitted or if set to .F., VS_InitPrtr() will  
  5366.      ask the user to select (and optionally define) a printer.             
  5367.                                                                            
  5368.  
  5369.    Return:     
  5370.      l_Success is a logical expression that will be set to .T. if the  
  5371.      user successfully selected a printer, otherwise it will be set to .F. 
  5372.  
  5373.    Notes:      
  5374.      You may provide VS_InitPrtr() as a menu selection, or it will be      
  5375.      presented to the user automatically the first time one of the printer 
  5376.      functions is used.                                                    
  5377.  
  5378.    Example:    
  5379.      VS_InitPrtr()                                                         
  5380.  
  5381.    Usage:      
  5382.      VS_InitPrtr() presents a pick list of the printers contained in       
  5383.      PRINTERS.DBF.  The user can press [F10] to update the associated codes
  5384.      or can press [Insert] to add a new printer definition.                
  5385.  
  5386.    See Also:   
  5387.      STRUCT.NGO:Printers                                                   
  5388.  
  5389.  
  5390.  
  5391.  
  5392.  
  5393.  
  5394.  
  5395.  
  5396.  
  5397.  
  5398.  
  5399.  
  5400.  
  5401.  
  5402.  
  5403.  
  5404.  
  5405.                         Vern Six's Clipper ToolBox v8.00                        
  5406.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5407.  
  5408.                                      - 82 -                                     
  5409.  
  5410.  
  5411.  
  5412.  
  5413.  
  5414.  
  5415.  
  5416.  
  5417.  
  5418.    VS_InitVern()        Initializes the Vern Six ToolBox                  
  5419.  
  5420.    Description:
  5421.      VS_InitVern() initializes the variables used by the various functions 
  5422.      in the Vern Six Clipper ToolBox as well as sets the colors from the   
  5423.      configuration database.  VS_InitVern() will also create the           
  5424.      configuration database if it doesn't exist.                           
  5425.  
  5426.    Syntax:     
  5427.      l_Success = VS_InitVern( [c_FileName] )                               
  5428.  
  5429.    Pass:       
  5430.      c_FileName is an optional character expression that should contain
  5431.      the name of the configuration database without the ".DBF" extension.  
  5432.      If c_FileName is omitted, it defaults to "VERN_CFG".              
  5433.  
  5434.    Return:     
  5435.      l_Success is a logical expression which be set to .T. if          
  5436.      successful otherwise it will be .F.                                   
  5437.  
  5438.    Notes:      
  5439.  
  5440.    Example:    
  5441.      l_Success = VS_InitVern( "MyFile" )                                   
  5442.  
  5443.    Usage:      
  5444.      VS_InitVern() MUST be called prior to any of the other functions  
  5445.      in VERNSIX.LIB.  There are several global variables that are created  
  5446.      by VS_InitVern() that you should study.                               
  5447.  
  5448.    See Also:   
  5449.      VS_Color()                                                            
  5450.  
  5451.  
  5452.  
  5453.  
  5454.  
  5455.  
  5456.  
  5457.  
  5458.  
  5459.  
  5460.  
  5461.  
  5462.  
  5463.  
  5464.  
  5465.  
  5466.  
  5467.  
  5468.  
  5469.  
  5470.  
  5471.                         Vern Six's Clipper ToolBox v8.00                        
  5472.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5473.  
  5474.                                      - 83 -                                     
  5475.  
  5476.  
  5477.  
  5478.  
  5479.  
  5480.  
  5481.  
  5482.  
  5483.  
  5484.    VS_Initials()        Returns the user's initials                       
  5485.  
  5486.    Description:
  5487.      VS_Initials() is designed to be used in concert with VS_Login().  If  
  5488.      the user successfully logs in, VS_Initials() will return his/her      
  5489.      initials as a three character string.                                 
  5490.  
  5491.    Syntax:     
  5492.      c_Initials = VS_Initials()                                            
  5493.  
  5494.    Pass:       
  5495.      Nothing                                                               
  5496.  
  5497.    Return:     
  5498.      c_Initials is a three character expression that will contain the  
  5499.      user's initials, if he/she has successfully logged in with VS_Login() 
  5500.  
  5501.    Notes:      
  5502.      VS_Login() MUST be called prior to using VS_Initials()                
  5503.  
  5504.    Example:    
  5505.      IF VS_Login()                                                         
  5506.         QOut( "Your initials are... "+VS_Initials() )                      
  5507.      ENDIF                                                                 
  5508.      ...                                                                   
  5509.  
  5510.    Usage:      
  5511.  
  5512.    See Also:   
  5513.      VS_Login() VS_MntPwd() VS_UserName() VS_ChkAuth()                     
  5514.  
  5515.  
  5516.  
  5517.  
  5518.  
  5519.  
  5520.  
  5521.  
  5522.  
  5523.  
  5524.  
  5525.  
  5526.  
  5527.  
  5528.  
  5529.  
  5530.  
  5531.  
  5532.  
  5533.  
  5534.  
  5535.  
  5536.  
  5537.                         Vern Six's Clipper ToolBox v8.00                        
  5538.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5539.  
  5540.                                      - 84 -                                     
  5541.  
  5542.  
  5543.  
  5544.  
  5545.  
  5546.  
  5547.  
  5548.  
  5549.  
  5550.    VS_Inkey()           Replacement for INKEY() - make it into a wait     
  5551.  
  5552.    Description:
  5553.      VS_Inkey() is a direct replacement function for Clipper's own INKEY() 
  5554.      function.  It operates in exactly the same fashion as INKEY() but     
  5555.      VS_INKEY() is a considered a wait state whereas INKEY() is not.       
  5556.  
  5557.    Syntax:     
  5558.      n_Key = VS_Inkey( n_Seconds )                                         
  5559.  
  5560.    Pass:       
  5561.      n_Seconds is a numeric value that represents the number of seconds
  5562.      to wait for a keypress.                                               
  5563.  
  5564.    Return:     
  5565.      n_Key is a numeric value that will contain the INKEY() value for  
  5566.      the key the user pressed.                                             
  5567.  
  5568.    Notes:      
  5569.  
  5570.    Example:    
  5571.  
  5572.    Usage:      
  5573.      VS_Inkey() should be used in place of INKEY()!                        
  5574.  
  5575.    See Also:   
  5576.  
  5577.  
  5578.  
  5579.  
  5580.  
  5581.  
  5582.  
  5583.  
  5584.  
  5585.  
  5586.  
  5587.  
  5588.  
  5589.  
  5590.  
  5591.  
  5592.  
  5593.  
  5594.  
  5595.  
  5596.  
  5597.  
  5598.  
  5599.  
  5600.  
  5601.  
  5602.  
  5603.                         Vern Six's Clipper ToolBox v8.00                        
  5604.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5605.  
  5606.                                      - 85 -                                     
  5607.  
  5608.  
  5609.  
  5610.  
  5611.  
  5612.  
  5613.  
  5614.  
  5615.  
  5616.    VS_Ital()            Print a string in "Italics" mode                  
  5617.  
  5618.    Description:
  5619.      VS_Ital() returns the appropriate control codes to make the currently 
  5620.      selected printer print in "Italics" mode.                             
  5621.  
  5622.    Syntax:     
  5623.      c_CtrlCode = VS_Ital( c_String )                                      
  5624.  
  5625.    Pass:       
  5626.      c_String is a character expression containing the value to print. 
  5627.  
  5628.    Return:     
  5629.      c_CtrlCode is a character expression that represents the necessary
  5630.      control codes to print c_String in "Italics" mode.                
  5631.  
  5632.    Notes:      
  5633.      If a printer has not yet been selected, VS_Ital() will call           
  5634.      VS_InitPrtr().                                                        
  5635.  
  5636.    Example:    
  5637.      SET PRINT ON                                                          
  5638.         ? VS_Ital([This will be in "Italics" mode.])                       
  5639.      SET PRINT OFF                                                         
  5640.  
  5641.    Usage:      
  5642.  
  5643.    See Also:   
  5644.      VS_InitPrtr() VS_ItalOn() VS_ItalOff() STRUCT.NGO:Printers            
  5645.  
  5646.  
  5647.  
  5648.  
  5649.  
  5650.  
  5651.  
  5652.  
  5653.  
  5654.  
  5655.  
  5656.  
  5657.  
  5658.  
  5659.  
  5660.  
  5661.  
  5662.  
  5663.  
  5664.  
  5665.  
  5666.  
  5667.  
  5668.  
  5669.                         Vern Six's Clipper ToolBox v8.00                        
  5670.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5671.  
  5672.                                      - 86 -                                     
  5673.  
  5674.  
  5675.  
  5676.  
  5677.  
  5678.  
  5679.  
  5680.  
  5681.  
  5682.    VS_ItalOff()         Returns the codes to turn "Italics" off           
  5683.  
  5684.    Description:
  5685.      VS_ItalOff() returns the necessary codes to make the currently        
  5686.      selected printer stop printing in "Italics" mode.                     
  5687.  
  5688.    Syntax:     
  5689.      c_CtrlCode = VS_ItalOff()                                             
  5690.  
  5691.    Pass:       
  5692.      Nothing                                                               
  5693.  
  5694.    Return:     
  5695.      c_CtrlCode is a character expression that will contain the        
  5696.      necessary codes to make the currently selected printer stop printing  
  5697.      in "Italics" mode.                                                    
  5698.  
  5699.    Notes:      
  5700.      If a printer has not yet been selected, VS_ItalOff() will call        
  5701.      VS_InitPrtr().                                                        
  5702.  
  5703.    Example:    
  5704.      SET PRINT ON                                                          
  5705.                                                                            
  5706.         ? VS_ItalOn()                                                      
  5707.         ? [This is in "Italics"]                                           
  5708.         ? [So is this]                                                     
  5709.         ? VS_ItalOff()                                                     
  5710.                                                                            
  5711.      SET PRINT OFF                                                         
  5712.  
  5713.    Usage:      
  5714.  
  5715.    See Also:   
  5716.      VS_InitPrtr() VS_Ital() VS_ItalOn() STRUCT.NGO:Printers               
  5717.  
  5718.  
  5719.  
  5720.  
  5721.  
  5722.  
  5723.  
  5724.  
  5725.  
  5726.  
  5727.  
  5728.  
  5729.  
  5730.  
  5731.  
  5732.  
  5733.  
  5734.  
  5735.                         Vern Six's Clipper ToolBox v8.00                        
  5736.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5737.  
  5738.                                      - 87 -                                     
  5739.  
  5740.  
  5741.  
  5742.  
  5743.  
  5744.  
  5745.  
  5746.  
  5747.  
  5748.    VS_ItalOn()          Returns the codes to turn "Italics" on            
  5749.  
  5750.    Description:
  5751.      VS_ItalOn() returns the necessary codes to make the currently selected
  5752.      printer print in "Italics" mode.                                      
  5753.  
  5754.    Syntax:     
  5755.      c_CtrlCode = VS_ItalOn()                                              
  5756.  
  5757.    Pass:       
  5758.      Nothing                                                               
  5759.  
  5760.    Return:     
  5761.      c_CtrlCode is a character expression that will contain the        
  5762.      necessary codes to make the currently selected printer print in       
  5763.      "Italics" mode.                                                       
  5764.  
  5765.    Notes:      
  5766.      If a printer has not yet been selected, VS_ItalOn() will call         
  5767.      VS_InitPrtr().                                                        
  5768.  
  5769.    Example:    
  5770.      SET PRINT ON                                                          
  5771.                                                                            
  5772.         ? VS_ItalOn()                                                      
  5773.         ? [This will be in "Italics" mode]                                 
  5774.         ? [So will this]                                                   
  5775.         ? VS_ItalOff()                                                     
  5776.                                                                            
  5777.      SET PRINT OFF                                                         
  5778.  
  5779.    Usage:      
  5780.  
  5781.    See Also:   
  5782.      VS_InitPrtr() VS_Ital() VS_ItalOff() STRUCT.NGO:Printers              
  5783.  
  5784.  
  5785.  
  5786.  
  5787.  
  5788.  
  5789.  
  5790.  
  5791.  
  5792.  
  5793.  
  5794.  
  5795.  
  5796.  
  5797.  
  5798.  
  5799.  
  5800.  
  5801.                         Vern Six's Clipper ToolBox v8.00                        
  5802.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5803.  
  5804.                                      - 88 -                                     
  5805.  
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811.  
  5812.  
  5813.  
  5814.    VS_LineFeed()        Returns the control codes to advance one line     
  5815.  
  5816.    Description:
  5817.      VS_LineFeed() returns the control codes to make the currently selected
  5818.      printer advance the paper one line.                                   
  5819.  
  5820.    Syntax:     
  5821.      c_LineFeed = VS_LineFeed()                                            
  5822.  
  5823.    Pass:       
  5824.      NOTHING                                                               
  5825.  
  5826.    Return:     
  5827.      c_LineFeed is a character expression that will contain the control
  5828.      codes to make the currently selected printer advance the paper one    
  5829.      line.                                                                 
  5830.  
  5831.    Notes:      
  5832.      If a printer has not yet been selected VS_LineFeed() will call        
  5833.      VS_InitPrtr()                                                         
  5834.  
  5835.    Example:    
  5836.      SET PRINT ON                                                          
  5837.      ? "This is on the first line" + VS_LINEFEED() + "This will be on the  
  5838.      next line"                                                            
  5839.      SET PRINT OFF                                                         
  5840.  
  5841.    Usage:      
  5842.  
  5843.    See Also:   
  5844.      VS_InitPrtr()  VS_FormFeed()                                          
  5845.  
  5846.  
  5847.  
  5848.  
  5849.  
  5850.  
  5851.  
  5852.  
  5853.  
  5854.  
  5855.  
  5856.  
  5857.  
  5858.  
  5859.  
  5860.  
  5861.  
  5862.  
  5863.  
  5864.  
  5865.  
  5866.  
  5867.                         Vern Six's Clipper ToolBox v8.00                        
  5868.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5869.  
  5870.                                      - 89 -                                     
  5871.  
  5872.  
  5873.  
  5874.  
  5875.  
  5876.  
  5877.  
  5878.  
  5879.  
  5880.    VS_LinesPg()         Returns the lines per page for the printer        
  5881.  
  5882.    Description:
  5883.      VS_LinesPg() returns the number of lines per page for the currently   
  5884.      selected printer.                                                     
  5885.  
  5886.    Syntax:     
  5887.      n_Lines = VS_LinesPg()                                                
  5888.  
  5889.    Pass:       
  5890.      NOTHING                                                               
  5891.  
  5892.    Return:     
  5893.      n_Lines is a numeric value that will contain the number of lines  
  5894.      per page for the currently selected printer.                          
  5895.  
  5896.    Notes:      
  5897.      If a printer has not yet been selected VS_LinesPg() will call         
  5898.      VS_InitPrtr()                                                         
  5899.  
  5900.    Example:    
  5901.      IF PROW() => VS_LinesPg()                                             
  5902.         VS_FormFeed()                                                      
  5903.      ENDIF                                                                 
  5904.  
  5905.    Usage:      
  5906.      VS_LinesPg() is primarily used to determine when it necessary to issue
  5907.      a form feed during a report.  i.e. If the we are past the maximum     
  5908.      number of lines per page... issue a form feed.                        
  5909.  
  5910.    See Also:   
  5911.      VS_InitPrtr() VS_FormFeed()                                           
  5912.  
  5913.  
  5914.  
  5915.  
  5916.  
  5917.  
  5918.  
  5919.  
  5920.  
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926.  
  5927.  
  5928.  
  5929.  
  5930.  
  5931.  
  5932.  
  5933.                         Vern Six's Clipper ToolBox v8.00                        
  5934.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  5935.  
  5936.                                      - 90 -                                     
  5937.  
  5938.  
  5939.  
  5940.  
  5941.  
  5942.  
  5943.  
  5944.  
  5945.  
  5946.    VS_Login()           Forces a user to provide a correct password       
  5947.  
  5948.    Description:
  5949.      VS_Login() should be used to ensure the user is who he says he is.    
  5950.      VS_Login() will prompt the user for his initials and password (as     
  5951.      defined in SECURITY.DBF).  If the user cannot provide a proper        
  5952.      password, it is your job as the programmer to abort your program, etc.
  5953.  
  5954.    Syntax:     
  5955.      l_Success = VS_Login()                                                
  5956.  
  5957.    Pass:       
  5958.      Nothing                                                               
  5959.  
  5960.    Return:     
  5961.      l_Success is a logical expression that will be set to .T. if the  
  5962.      user successfully entered valid initialsand their associated password,
  5963.      otherwise it will be .F.                                              
  5964.  
  5965.    Notes:      
  5966.      The use of VS_Login() is mandatory if you plan to use the VS_ChkAuth()
  5967.      function.                                                             
  5968.  
  5969.    Example:    
  5970.      IF .NOT. VS_Login()                                                   
  5971.         VS_DIE("Invalid Login Attempt.  Please call D.P. Services!")       
  5972.      ENDIF                                                                 
  5973.      ...                                                                   
  5974.  
  5975.    Usage:      
  5976.      VS_Login() provides you (the programmer) with a security measure for  
  5977.      your application.                                                     
  5978.  
  5979.    See Also:   
  5980.      VS_MntPwd() VS_ChkAuth() STRUCT.NGO:Security VS_Initials()            
  5981.      VS_UserName()                                                         
  5982.  
  5983.  
  5984.  
  5985.  
  5986.  
  5987.  
  5988.  
  5989.  
  5990.  
  5991.  
  5992.  
  5993.  
  5994.  
  5995.  
  5996.  
  5997.  
  5998.  
  5999.                         Vern Six's Clipper ToolBox v8.00                        
  6000.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6001.  
  6002.                                      - 91 -                                     
  6003.  
  6004.  
  6005.  
  6006.  
  6007.  
  6008.  
  6009.  
  6010.  
  6011.  
  6012.    VS_MakeHlp()         Create context help screens after compile         
  6013.  
  6014.    Description:
  6015.      VS_MakeHlp allows the developer to design a help screen after the     
  6016.      application has been compiled.  Help screens can be changed at any    
  6017.      time after the compilation of the program as the screens are kept in a
  6018.      database file.                                                        
  6019.  
  6020.    Syntax:     
  6021.      SET KEY n_Key TO VS_MakeHlp                                           
  6022.                                                                            
  6023.  
  6024.    Pass:       
  6025.      Nothing                                                               
  6026.  
  6027.    Return:     
  6028.      Nothing                                                               
  6029.  
  6030.    Notes:      
  6031.      In order for VS_MakeHlp to work you must first call VS_InitHlp() and  
  6032.      the filename you specified in your call to VS_InitHlp() must exist in 
  6033.      the default directory.  This "key file" is so your users will not be  
  6034.      able to modify the help screens after the application is finished.  To
  6035.      go back and edit help screens, merely create the "key file" and invoke
  6036.      VS_MakeHlp.                                                           
  6037.  
  6038.    Example:    
  6039.      SET KEY 291 TO VS_MAKEHLP    && ALT-H                                 
  6040.                                                                            
  6041.  
  6042.    Usage:      
  6043.      When this routine is called, you will see a box appear on the screen. 
  6044.      You should size the box using the technique described in VS_Coord.  At
  6045.      this point you may edit the help text as you wish.  When you are done,
  6046.      press Ctrl-W.                                                         
  6047.  
  6048.    See Also:   
  6049.      VS_Help() VS_InitHelp() VS_Coord()                                    
  6050.  
  6051.  
  6052.  
  6053.  
  6054.  
  6055.  
  6056.  
  6057.  
  6058.  
  6059.  
  6060.  
  6061.  
  6062.  
  6063.  
  6064.  
  6065.                         Vern Six's Clipper ToolBox v8.00                        
  6066.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6067.  
  6068.                                      - 92 -                                     
  6069.  
  6070.  
  6071.  
  6072.  
  6073.  
  6074.  
  6075.  
  6076.  
  6077.  
  6078.    VS_Menu()            "Pull-Down" menu system                           
  6079.  
  6080.    Description:
  6081.      VS_Menu() provides the programmer with a very fast and efficient means
  6082.      of producing "pull-down" menus for their users.                       
  6083.  
  6084.    Syntax:     
  6085.      n_Option = VS_MENU( a_Options, ac_Title )                             
  6086.  
  6087.    Pass:       
  6088.      a_Options is an nested array that contains information about each 
  6089.      option on your menu.  a_Options has the following structure...    
  6090.                                                                            
  6091.         --------------------                                               
  6092.         Pos  Meta Symbol                                               
  6093.         --------------------                                               
  6094.           1  c_PullDownName                                            
  6095.           2  a_PullDownOpts                                            
  6096.                                                                            
  6097.      c_PullDownName is a character expression that should contain the    
  6098.      name of the pulldown menu for that element in a_Options.          
  6099.                                                                            
  6100.      a_PullDownOpts is a sub-array that contains information about each
  6101.      individual pulldown menu options.                                     
  6102.                                                                            
  6103.      a_PullDownOpts has the following structure...                     
  6104.                                                                            
  6105.         ---------------------                                              
  6106.         Pos  Meta Symbol                                               
  6107.         ---------------------                                              
  6108.           1  c_OptionName                                              
  6109.           2  b_OptionBlock                                             
  6110.                                                                            
  6111.      c_OptionName is a character expression that should contain the    
  6112.      name of the option on the pulldown.                                   
  6113.                                                                            
  6114.      b_OptionBlock is a code block that will be EVALuated if the user  
  6115.      selects this option.                                                  
  6116.                                                                            
  6117.      ac_Title is an array of character expressions to display at the   
  6118.      top of the menu as a "title".                                         
  6119.  
  6120.    Return:     
  6121.      VS_Menu() always returns NIL                                          
  6122.  
  6123.    Notes:      
  6124.      VERY IMPORTANT!!!!                                                
  6125.                                                                            
  6126.      VS_Menu() is NOT the same as the older version of V_MENU()!!  Things  
  6127.      have changed drastically.                                             
  6128.                                                                            
  6129.  
  6130.  
  6131.                         Vern Six's Clipper ToolBox v8.00                        
  6132.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6133.  
  6134.                                      - 93 -                                     
  6135.  
  6136.  
  6137.  
  6138.  
  6139.  
  6140.  
  6141.  
  6142.  
  6143.  
  6144.  
  6145.    Example:    
  6146.      FUNCTION MAIN                                                         
  6147.                                                                            
  6148.      LOCAL a_Menu    := {}                                                 
  6149.      LOCAL a_Options := {}                                                 
  6150.      LOCAL ac_Title  := {}                                                 
  6151.                                                                            
  6152.         VS_InitVern()                                                      
  6153.                                                                            
  6154.         AADD( ac_Title, ""                   )                             
  6155.         AADD( ac_Title, "Sample Menu System" )                             
  6156.         AADD( ac_Title, DTOC(DATE())         )                             
  6157.         AADD( ac_Title, ""                   )                             
  6158.                                                                            
  6159.                                                                            
  6160.         a_Options : {}                                                     
  6161.                                                                            
  6162.         AADD( a_Options, { "Clients",      {||Client() } } )               
  6163.         AADD( a_Options, { "Products",     {||Product()} } )               
  6164.         AADD( a_Options, { "SalesPersons", {||Sales()  } } )               
  6165.                                                                            
  6166.         AAD( a_Menu, { "Maintenance", a_Options } )                        
  6167.                                                                            
  6168.                                                                            
  6169.         a_Options := {}                                                    
  6170.                                                                            
  6171.         AADD( a_Options, { "Client List",  {||R_Client() } } )             
  6172.         AADD( a_Options, { "Product List", {||R_Product()} } )             
  6173.         AADD( a_Options, { "Sales Tally",  {||R_Tally()  } } )             
  6174.                                                                            
  6175.         ADD( a_Menu, {"Reports", a_Options } )                             
  6176.                                                                            
  6177.                                                                            
  6178.         a_Options := {}                                                    
  6179.                                                                            
  6180.         AADD( a_Options, {"Pack Databases", {||PackDbfs()}})               
  6181.         AADD( a_Options, {"Re-Inex",        {||Ntx_Dbfs()}})               
  6182.                                                                            
  6183.         AADD( a_Menu, { "Utilities", a_Options } )                         
  6184.                                                                            
  6185.                                                                            
  6186.         a_Options := {}                                                    
  6187.                                                                            
  6188.         AADD( a_Options, {"Product Info",{||ProdInfo()} } )                
  6189.         AADD( a_Options, { "Quit",       {||CleanUp() } } )                
  6190.                                                                            
  6191.         AADD( a_Menu, { "Other", a_Options } )                             
  6192.                                                                            
  6193.         VS_Menu( a_Menu, ac_Title)                                         
  6194.                                                                            
  6195.  
  6196.  
  6197.                         Vern Six's Clipper ToolBox v8.00                        
  6198.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6199.  
  6200.                                      - 94 -                                     
  6201.  
  6202.  
  6203.  
  6204.  
  6205.  
  6206.  
  6207.  
  6208.  
  6209.  
  6210.      RETURN(NIL)                                                           
  6211.  
  6212.    Usage:      
  6213.  
  6214.    See Also:   
  6215.  
  6216.  
  6217.  
  6218.  
  6219.  
  6220.  
  6221.  
  6222.  
  6223.  
  6224.  
  6225.  
  6226.  
  6227.  
  6228.  
  6229.  
  6230.  
  6231.  
  6232.  
  6233.  
  6234.  
  6235.  
  6236.  
  6237.  
  6238.  
  6239.  
  6240.  
  6241.  
  6242.  
  6243.  
  6244.  
  6245.  
  6246.  
  6247.  
  6248.  
  6249.  
  6250.  
  6251.  
  6252.  
  6253.  
  6254.  
  6255.  
  6256.  
  6257.  
  6258.  
  6259.  
  6260.  
  6261.  
  6262.  
  6263.                         Vern Six's Clipper ToolBox v8.00                        
  6264.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6265.  
  6266.                                      - 95 -                                     
  6267.  
  6268.  
  6269.  
  6270.  
  6271.  
  6272.  
  6273.  
  6274.  
  6275.  
  6276.    VS_MntPwd()          Maintain/update SECURITY.DBF                      
  6277.  
  6278.    Description:
  6279.      VS_MntPwd() allows the SuperUser to update records in the         
  6280.      SECURITY.DBF file.  NOTE: You should not allow this function to be    
  6281.      accessed by anyone other than the SuperUser as anyone who can     
  6282.      access this command can change everyone else's security rights and    
  6283.      priviledges.                                                          
  6284.  
  6285.    Syntax:     
  6286.      VS_MntPwd()                                                           
  6287.  
  6288.    Pass:       
  6289.      Nothing                                                               
  6290.  
  6291.    Return:     
  6292.      VS_MntPwd() always returns NIL                                        
  6293.  
  6294.    Notes:      
  6295.  
  6296.    Example:    
  6297.      VS_MntPwd()                                                           
  6298.  
  6299.    Usage:      
  6300.      VS_MntPwd() is where the Super User maintains the passwords, etc  
  6301.      for use with VS_Login().                                              
  6302.  
  6303.    See Also:   
  6304.      VS_Login() VS_ChkAuth() Struct.Ngo:Security VS_Initials()             
  6305.      VS_UserName()                                                         
  6306.                                                                            
  6307.  
  6308.  
  6309.  
  6310.  
  6311.  
  6312.  
  6313.  
  6314.  
  6315.  
  6316.  
  6317.  
  6318.  
  6319.  
  6320.  
  6321.  
  6322.  
  6323.  
  6324.  
  6325.  
  6326.  
  6327.  
  6328.  
  6329.                         Vern Six's Clipper ToolBox v8.00                        
  6330.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6331.  
  6332.                                      - 96 -                                     
  6333.  
  6334.  
  6335.  
  6336.  
  6337.  
  6338.  
  6339.  
  6340.  
  6341.  
  6342.    VS_Msg()             Displays a message in a window                    
  6343.  
  6344.    Description:
  6345.      VS_Msg() displays a message in a window.                              
  6346.  
  6347.    Syntax:     
  6348.      VS_Msg( ac_Text, n_Elements, c_Title, c_FootNote, [n_Top], [n_Left] ) 
  6349.  
  6350.    Pass:       
  6351.      ac_Text is an array of character expressions each representing a  
  6352.      line of text to display in the window.                                
  6353.                                                                            
  6354.      n_Elements is a numeric value representing the number of elements 
  6355.      in ac_Text to display.                                            
  6356.                                                                            
  6357.      c_Title is a character expression to be displayed at the top of   
  6358.      the window (offset to the left)                                       
  6359.                                                                            
  6360.      c_FootNote is a character expression to be displayed at the bottom
  6361.      of the window (centered)                                              
  6362.                                                                            
  6363.      n_Top is an optional numeric value for the top row of the window. 
  6364.                                                                            
  6365.      n_Left is an optional numeric value for the left column of the    
  6366.      window.                                                               
  6367.  
  6368.    Return:     
  6369.      VS_Msg() always returns NIL                                           
  6370.  
  6371.    Notes:      
  6372.  
  6373.    Example:    
  6374.      ac_msg[1] = "This is line number one."                                
  6375.      ac_msg[2] = "This is line number two."                                
  6376.      VS_MSG(ac_msg,2,"Title","FootNote")                                   
  6377.  
  6378.    Usage:      
  6379.      VS_Msg() is most commonly used to display a message while the program 
  6380.      is busy doing something else.  i.e.packing a database, printing a     
  6381.      report, etc.                                                          
  6382.  
  6383.    See Also:   
  6384.      VS_GrabScr() VS_PutScr() VS_DropScr() VS_Wind()                       
  6385.  
  6386.  
  6387.  
  6388.  
  6389.  
  6390.  
  6391.  
  6392.  
  6393.  
  6394.  
  6395.                         Vern Six's Clipper ToolBox v8.00                        
  6396.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6397.  
  6398.                                      - 97 -                                     
  6399.  
  6400.  
  6401.  
  6402.  
  6403.  
  6404.  
  6405.  
  6406.  
  6407.  
  6408.    VS_NetEdit()         Set the Network Edit feature of VS_EDIT()         
  6409.  
  6410.    Description:
  6411.      VS_NetEdit() allows the programmer to update the "continuous network  
  6412.      read" feature of VS_Edit().  When activated, VS_Edit() will           
  6413.      continually update the information it is displaying to the user based 
  6414.      on network changes to the database.                                   
  6415.  
  6416.    Syntax:     
  6417.      VS_NetEdit( l_Mode )                                                  
  6418.  
  6419.    Pass:       
  6420.      l_Mode is a logical expression that should be set to .T. if you   
  6421.      want VS_Edit() to continually update the data being displayed,        
  6422.      otherwise .F.  The default is .F.                                     
  6423.  
  6424.    Return:     
  6425.      Nothing                                                               
  6426.  
  6427.    Notes:      
  6428.  
  6429.    Example:    
  6430.  
  6431.    Usage:      
  6432.  
  6433.    See Also:   
  6434.      VS_Edit()                                                             
  6435.  
  6436.  
  6437.  
  6438.  
  6439.  
  6440.  
  6441.  
  6442.  
  6443.  
  6444.  
  6445.  
  6446.  
  6447.  
  6448.  
  6449.  
  6450.  
  6451.  
  6452.  
  6453.  
  6454.  
  6455.  
  6456.  
  6457.  
  6458.  
  6459.  
  6460.  
  6461.                         Vern Six's Clipper ToolBox v8.00                        
  6462.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6463.  
  6464.                                      - 98 -                                     
  6465.  
  6466.  
  6467.  
  6468.  
  6469.  
  6470.  
  6471.  
  6472.  
  6473.  
  6474.    VS_NewScrn()         Draws a new "pretty" screen                       
  6475.  
  6476.    Description:
  6477.      VS_NewScrn() is a quick and dirty little function to clear the screen 
  6478.      and paint a "pretty" background.                                      
  6479.  
  6480.    Syntax:     
  6481.      VS_NewScrn()                                                          
  6482.  
  6483.    Pass:       
  6484.      Nothing                                                               
  6485.  
  6486.    Return:     
  6487.      VS_NewScrn() always returns NIL                                       
  6488.  
  6489.    Notes:      
  6490.  
  6491.    Example:    
  6492.      VS_NewScrn()                                                          
  6493.  
  6494.    Usage:      
  6495.      VS_NewScrn() is designed to save you some time when painting a "new"  
  6496.      screen.  Its prettier than the normal CLEAR statement in Clipper and  
  6497.      less time consuming than painting each screen manually.               
  6498.  
  6499.    See Also:   
  6500.      VS_TxtColr()                                                          
  6501.  
  6502.  
  6503.  
  6504.  
  6505.  
  6506.  
  6507.  
  6508.  
  6509.  
  6510.  
  6511.  
  6512.  
  6513.  
  6514.  
  6515.  
  6516.  
  6517.  
  6518.  
  6519.  
  6520.  
  6521.  
  6522.  
  6523.  
  6524.  
  6525.  
  6526.  
  6527.                         Vern Six's Clipper ToolBox v8.00                        
  6528.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6529.  
  6530.                                      - 99 -                                     
  6531.  
  6532.  
  6533.  
  6534.  
  6535.  
  6536.  
  6537.  
  6538.  
  6539.  
  6540.    VS_Nlq()             Returns the codes to print in "NLQ" mode          
  6541.  
  6542.    Description:
  6543.      VS_Nlq() returns the printer control codes necessary to make the      
  6544.      currently selected printer, print in "NLQ" mode.                      
  6545.  
  6546.    Syntax:     
  6547.      c_Code = VS_Nlq()                                                     
  6548.  
  6549.    Pass:       
  6550.      Nothing                                                               
  6551.  
  6552.    Return:     
  6553.      c_Code is a character expression that will contain the necessary  
  6554.      printer control codes to make the currently selected printer print in 
  6555.      "NLQ" mode.                                                           
  6556.  
  6557.    Notes:      
  6558.      VS_Nlq() will call VS_InitPrtr() if a printer has not yet been        
  6559.      selected.                                                             
  6560.  
  6561.    Example:    
  6562.      SET PRINT ON                                                          
  6563.         ? VS_Nlq()+"This will be in nlq mode!"                             
  6564.      SET PRINT OFF                                                         
  6565.      ...                                                                   
  6566.  
  6567.    Usage:      
  6568.  
  6569.    See Also:   
  6570.      VS_Draft() VS_InitPrtr() STRUCT.NGO:Printers                          
  6571.  
  6572.  
  6573.  
  6574.  
  6575.  
  6576.  
  6577.  
  6578.  
  6579.  
  6580.  
  6581.  
  6582.  
  6583.  
  6584.  
  6585.  
  6586.  
  6587.  
  6588.  
  6589.  
  6590.  
  6591.  
  6592.  
  6593.                         Vern Six's Clipper ToolBox v8.00                        
  6594.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6595.  
  6596.                                     - 100 -                                     
  6597.  
  6598.  
  6599.  
  6600.  
  6601.  
  6602.  
  6603.  
  6604.  
  6605.  
  6606.    VS_NoOther()         Ensures that a key is unique                      
  6607.  
  6608.    Description:
  6609.      VS_NoOther() is a VALID function that the programmer can use to make  
  6610.      certain that the user has not entered a duplicate database key during 
  6611.      a GET/READ scenario.                                                  
  6612.  
  6613.    Syntax:     
  6614.      l_NoOther = VS_NoOther( KeyValue, [@l_Eating] )                       
  6615.  
  6616.    Pass:       
  6617.      KeyValue is any valid expression that the represents the "SEEK"   
  6618.      value for the database key.                                           
  6619.                                                                            
  6620.      l_Eating is an optional logical expression that can be used in    
  6621.      place of VS_EatKeys().                                                
  6622.  
  6623.    Return:     
  6624.      l_Success is a logical expression that will be set to .T. if      
  6625.      KeyValue is NOT in the current database key, otherwise it will be 
  6626.      .F.    If l_Success is set to .F., VS_NoOther() will present the  
  6627.      user with a cosmetically appealing pop-up warning message telling     
  6628.      him/her that the key is a duplicate.                                  
  6629.  
  6630.    Notes:      
  6631.  
  6632.    Example:    
  6633.      USE CUST INDEX CUST   && Key== CUSTNO                                 
  6634.                                                                            
  6635.      c_CustNo  = SPACE(5)                                                  
  6636.      c_Company = SPACE(30)                                                 
  6637.                                                                            
  6638.      @ 5,5  SAY "New Customer Number to add: " GET c_CustNo VALID          
  6639.      VS_NoOther(c_CustNo)                                                  
  6640.      @ 10,5 SAY "Company Name? " GET c_Company                             
  6641.      READ                                                                  
  6642.      ...                                                                   
  6643.  
  6644.    Usage:      
  6645.      VS_NoOther() is a handy method of ensuring that duplicate keys are not
  6646.      entered into your databases.                                          
  6647.  
  6648.    See Also:   
  6649.      VS_EatKeys() VS_NotEmpty() VS_NotNeg() VS_NotPos() VS_NotZero()       
  6650.  
  6651.  
  6652.  
  6653.  
  6654.  
  6655.  
  6656.  
  6657.  
  6658.  
  6659.                         Vern Six's Clipper ToolBox v8.00                        
  6660.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6661.  
  6662.                                     - 101 -                                     
  6663.  
  6664.  
  6665.  
  6666.  
  6667.  
  6668.  
  6669.  
  6670.  
  6671.  
  6672.    VS_NotEmpty()        VALID clause to make sure string is not empty     
  6673.  
  6674.    Description:
  6675.      VS_NotEmpty() provides the programmer with a cosmetically appealing   
  6676.      "pop-up" validation box.                                              
  6677.  
  6678.    Syntax:     
  6679.      l_Valid = VS_NotEmpty( c_String, [@l_Eating] )                        
  6680.  
  6681.    Pass:       
  6682.      c_String is a character expression that contains the string to    
  6683.      ensure is not empty.                                                  
  6684.                                                                            
  6685.      l_Eating is an optional logical expression that can be used in    
  6686.      place of using VS_EatKeys().                                          
  6687.  
  6688.    Return:     
  6689.      l_Valid is a logical expression that will be set to .T. if        
  6690.      c_String is NOT empty, otherwise .F.  If l_Valid is .F.,      
  6691.      VS_NotEmpty() will display a cosmetically appealing pop-up error box  
  6692.      telling the user that the value cannot be empty.                      
  6693.  
  6694.    Notes:      
  6695.      VS_NotEmpty() is non-screen destructive.                              
  6696.  
  6697.    Example:    
  6698.      c_Name = SPACE(40)                                                    
  6699.      @ 10,10 SAY "Your Name? " GET c_Name VALID VS_NotEmpty(c_Name)        
  6700.      READ                                                                  
  6701.      ...                                                                   
  6702.  
  6703.    Usage:      
  6704.      VS_NotEmpty() is used for the "art" of user interfacing.  i.e. it     
  6705.      provides a pleasant way of informing the user why the VALID clause    
  6706.      failed.                                                               
  6707.  
  6708.    See Also:   
  6709.      VS_EatKeys() VS_NotNeg() VS_NotPos() VS_NotZero()                     
  6710.  
  6711.  
  6712.  
  6713.  
  6714.  
  6715.  
  6716.  
  6717.  
  6718.  
  6719.  
  6720.  
  6721.  
  6722.  
  6723.  
  6724.  
  6725.                         Vern Six's Clipper ToolBox v8.00                        
  6726.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6727.  
  6728.                                     - 102 -                                     
  6729.  
  6730.  
  6731.  
  6732.  
  6733.  
  6734.  
  6735.  
  6736.  
  6737.  
  6738.    VS_NotNeg()          VALID clause to ensure number is not negative     
  6739.  
  6740.    Description:
  6741.      VS_NotNeg() provides the programmer with a cosmetically appealing     
  6742.      "pop-up" validation box.                                              
  6743.  
  6744.    Syntax:     
  6745.      l_Valid = VS_NotNeg( n_Value , [@l_Eating] )                          
  6746.  
  6747.    Pass:       
  6748.      n_Value is a numeric value containing the number to ensure is not 
  6749.      negative.                                                             
  6750.                                                                            
  6751.      l_Eating is an optional logical expression that can be used in    
  6752.      place of VS_EatKeys().                                                
  6753.  
  6754.    Return:     
  6755.      l_Valid is a logical expression that will be set to .T. if        
  6756.      n_Value is NOT negative, otherwise .F.  If l_Valid is .F.,    
  6757.      VS_NotNeg() will display a cosmetically appealing pop-up error box    
  6758.      telling the user that the value cannot be negative.                   
  6759.  
  6760.    Notes:      
  6761.      VS_NotNeg() is non-screen destructive.                                
  6762.  
  6763.    Example:    
  6764.      n_Value = 0.00                                                        
  6765.      @ 10,10 SAY "Enter a nmbr: " GET n_Value VALID VS_NotNeg(n_Value)     
  6766.      READ                                                                  
  6767.      ...                                                                   
  6768.  
  6769.    Usage:      
  6770.      VS_NotNeg() is used for the "art" of user interfacing.  i.e. it       
  6771.      provides a pleasant way of informing the user why the VALID clause    
  6772.      failed.                                                               
  6773.  
  6774.    See Also:   
  6775.      VS_EatKeys() VS_NotEmpty() VS_NotPos() VS_NotZero()                   
  6776.  
  6777.  
  6778.  
  6779.  
  6780.  
  6781.  
  6782.  
  6783.  
  6784.  
  6785.  
  6786.  
  6787.  
  6788.  
  6789.  
  6790.  
  6791.                         Vern Six's Clipper ToolBox v8.00                        
  6792.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6793.  
  6794.                                     - 103 -                                     
  6795.  
  6796.  
  6797.  
  6798.  
  6799.  
  6800.  
  6801.  
  6802.  
  6803.  
  6804.    VS_NotPos()          VALID clause to ensure number is not positive     
  6805.  
  6806.    Description:
  6807.      VS_NotPos() provides the programmer with a cosmetically appealing     
  6808.      "pop-up" validation box.                                              
  6809.  
  6810.    Syntax:     
  6811.      l_Valid = VS_NotPos( n_Value , [@l_Eating] )                          
  6812.  
  6813.    Pass:       
  6814.      n_Value is a numeric value containing the number to ensure is not 
  6815.      positive.                                                             
  6816.                                                                            
  6817.      l_Eating is an optional logical expression that can be used in    
  6818.      place of VS_EatKeys().                                                
  6819.  
  6820.    Return:     
  6821.      l_Valid is a logical expression that will be set to .T. if        
  6822.      n_Value is NOT positive, otherwise .F.  If l_Valid is .F.,    
  6823.      VS_NotPos() will display a cosmetically appealing pop-up error box    
  6824.      telling the user that the value cannot be positive.                   
  6825.  
  6826.    Notes:      
  6827.      VS_NotPos() is non-screen destructive.                                
  6828.  
  6829.    Example:    
  6830.      n_Value = 0.00                                                        
  6831.      @ 10,10 SAY "Enter a nmbr: " GET n_Value VALID VS_NotPos(n_Value)     
  6832.      READ                                                                  
  6833.      ...                                                                   
  6834.  
  6835.    Usage:      
  6836.      VS_NotPos() is used for the "art" of user interfacing. i.e. it        
  6837.      provides a pleasant way of informing the user why the VALID clause    
  6838.      failed.                                                               
  6839.  
  6840.    See Also:   
  6841.      VS_EatKeys() VS_NotEmpty() VS_NotNeg() VS_NotZero()                   
  6842.  
  6843.  
  6844.  
  6845.  
  6846.  
  6847.  
  6848.  
  6849.  
  6850.  
  6851.  
  6852.  
  6853.  
  6854.  
  6855.  
  6856.  
  6857.                         Vern Six's Clipper ToolBox v8.00                        
  6858.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6859.  
  6860.                                     - 104 -                                     
  6861.  
  6862.  
  6863.  
  6864.  
  6865.  
  6866.  
  6867.  
  6868.  
  6869.  
  6870.    VS_NotZero()         VALID clause to ensure number is not zero         
  6871.  
  6872.    Description:
  6873.      VS_NotZero() provides the programmer with a cosmetically appealing    
  6874.      "pop-up" validation box.                                              
  6875.  
  6876.    Syntax:     
  6877.      l_Valid = VS_NotZero( n_Value , [@l_Eating] )                         
  6878.  
  6879.    Pass:       
  6880.      n_Value is a numeric value containing the number to ensure is not 
  6881.      zero.                                                                 
  6882.                                                                            
  6883.      l_Eating is an optional logical expression that can be used in    
  6884.      place of VS_EatKeys().                                                
  6885.  
  6886.    Return:     
  6887.      l_Valid is a logical expression that will be set to .T. if        
  6888.      n_Value is NOT zero, otherwise .F.  If l_Valid is .F.,        
  6889.      VS_NotZero() will display a cosmetically appealing pop-up error box   
  6890.      telling the user that the value cannot be zero.                       
  6891.  
  6892.    Notes:      
  6893.      VS_NotZero() is non-screen destructive.                               
  6894.  
  6895.    Example:    
  6896.      n_Value = 0.00                                                        
  6897.      @ 10,10 SAY "Enter a nmbr: " GET n_Value VALID VS_NotZero(n_Value)    
  6898.      READ                                                                  
  6899.      ...                                                                   
  6900.  
  6901.    Usage:      
  6902.      VS_NotZero() is used for the "art" of user interfacing. i.e. it       
  6903.      provides a pleasant way of informing the user why the VALID clause    
  6904.      failed.                                                               
  6905.  
  6906.    See Also:   
  6907.      VS_EatKeys() VS_NotEmpty() VS_NotNeg() VS_NotPos()                    
  6908.  
  6909.  
  6910.  
  6911.  
  6912.  
  6913.  
  6914.  
  6915.  
  6916.  
  6917.  
  6918.  
  6919.  
  6920.  
  6921.  
  6922.  
  6923.                         Vern Six's Clipper ToolBox v8.00                        
  6924.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6925.  
  6926.                                     - 105 -                                     
  6927.  
  6928.  
  6929.  
  6930.  
  6931.  
  6932.  
  6933.  
  6934.  
  6935.  
  6936.    VS_NtxAll()          Reindex all files listed in data dictionary       
  6937.  
  6938.    Description:
  6939.      VS_NtxAll() will deleted and re-create all index files for all        
  6940.      databases listed in the data dictionary.                              
  6941.  
  6942.    Syntax:     
  6943.      VS_NtxAll()                                                           
  6944.  
  6945.    Pass:       
  6946.      Nothing                                                               
  6947.  
  6948.    Return:     
  6949.      VS_NtxAll() always returns NIL                                        
  6950.  
  6951.    Notes:      
  6952.      This process may take quite some time!!                               
  6953.                                                                            
  6954.      VS_NtxAll() assumes that all databases are currently closed!          
  6955.  
  6956.    Example:    
  6957.      VS_NtxAll()                                                           
  6958.  
  6959.    Usage:      
  6960.  
  6961.    See Also:   
  6962.      VS_OpenDbf()                                                          
  6963.  
  6964.  
  6965.  
  6966.  
  6967.  
  6968.  
  6969.  
  6970.  
  6971.  
  6972.  
  6973.  
  6974.  
  6975.  
  6976.  
  6977.  
  6978.  
  6979.  
  6980.  
  6981.  
  6982.  
  6983.  
  6984.  
  6985.  
  6986.  
  6987.  
  6988.  
  6989.                         Vern Six's Clipper ToolBox v8.00                        
  6990.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  6991.  
  6992.                                     - 106 -                                     
  6993.  
  6994.  
  6995.  
  6996.  
  6997.  
  6998.  
  6999.  
  7000.  
  7001.  
  7002.    VS_NtxDict()         Returns the internal index stack as an array      
  7003.  
  7004.    Description:
  7005.      VS_NtxDict() returns the internal index stack (maintained by          
  7006.      VS_OpenDbf() when it opens a file) as an array.                       
  7007.  
  7008.    Syntax:     
  7009.      a_Index = VS_NtxDict()                                                
  7010.  
  7011.    Pass:       
  7012.      Nothing                                                               
  7013.  
  7014.    Return:     
  7015.      a_Index is a multi-dimensional array that will contain an element 
  7016.      for each index file in the following format...                        
  7017.                                                                            
  7018.        { c_DbfName, c_NtxName }                                    
  7019.  
  7020.    Notes:      
  7021.  
  7022.    Example:    
  7023.      #define DBF_NAME 1                                                    
  7024.      #define NTX_NAME 2                                                    
  7025.                                                                            
  7026.      a_Index = VS_NtxDict()                                                
  7027.      FOR n_Cntr = 1 TO LEN(a_Index)                                        
  7028.         QOut( n_Cntr, a_Index[n_Cntr,DBF_NAME], a_Index[n_Cntr,NTX_NAME] ) 
  7029.      NEXT n_Cntr                                                           
  7030.      ...                                                                   
  7031.  
  7032.    Usage:      
  7033.      VS_NtxDict() is primarily used in debugging and has very little other 
  7034.      value.                                                                
  7035.  
  7036.    See Also:   
  7037.      VS_PrintNtx()                                                         
  7038.  
  7039.  
  7040.  
  7041.  
  7042.  
  7043.  
  7044.  
  7045.  
  7046.  
  7047.  
  7048.  
  7049.  
  7050.  
  7051.  
  7052.  
  7053.  
  7054.  
  7055.                         Vern Six's Clipper ToolBox v8.00                        
  7056.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7057.  
  7058.                                     - 107 -                                     
  7059.  
  7060.  
  7061.  
  7062.  
  7063.  
  7064.  
  7065.  
  7066.  
  7067.  
  7068.    VS_NtxList()         Returns a list of all indexes for a database      
  7069.  
  7070.    Description:
  7071.      VS_NtxList() allows the programmer to quickly obtain a list of all the
  7072.      index files associated with a database currently defined in the data  
  7073.      dictionary.                                                           
  7074.  
  7075.    Syntax:     
  7076.      ac_NtxList = VS_NtxList( c_DbfName )                                  
  7077.  
  7078.    Pass:       
  7079.      c_DbfName is a character expression that should contain the       
  7080.      database name to aquire the list of index files for.                  
  7081.  
  7082.    Return:     
  7083.      ac_NtxList is an array of character expressions, each representing
  7084.      the name of an index file associated with the specified database.     
  7085.  
  7086.    Notes:      
  7087.  
  7088.    Example:    
  7089.  
  7090.    Usage:      
  7091.  
  7092.    See Also:   
  7093.      VS_DbfList()                                                          
  7094.  
  7095.  
  7096.  
  7097.  
  7098.  
  7099.  
  7100.  
  7101.  
  7102.  
  7103.  
  7104.  
  7105.  
  7106.  
  7107.  
  7108.  
  7109.  
  7110.  
  7111.  
  7112.  
  7113.  
  7114.  
  7115.  
  7116.  
  7117.  
  7118.  
  7119.  
  7120.  
  7121.                         Vern Six's Clipper ToolBox v8.00                        
  7122.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7123.  
  7124.                                     - 108 -                                     
  7125.  
  7126.  
  7127.  
  7128.  
  7129.  
  7130.  
  7131.  
  7132.  
  7133.  
  7134.    VS_Num2Txt()         Converts a numeric value to a string              
  7135.  
  7136.    Description:
  7137.      VS_Num2Txt() converts a numeric value to a character value.i.e. 123   
  7138.      becomes "One-Hundred Twenty Three"                                    
  7139.  
  7140.    Syntax:     
  7141.      c_String = VS_Num2Txt( n_Amount )                                     
  7142.  
  7143.    Pass:       
  7144.      n_Amount is the numeric value to be converted. Digits to the right
  7145.      of the decimal point are ignored.                                     
  7146.  
  7147.    Return:     
  7148.      c_String is a character expression representing the converted     
  7149.      value of n_Amount                                                 
  7150.  
  7151.    Notes:      
  7152.  
  7153.    Example:    
  7154.      ? VS_Num2Txt(32)                                                      
  7155.                                                                            
  7156.      Output: Thirty Two                                                    
  7157.  
  7158.    Usage:      
  7159.      VS_Num2Txt() is very similar to VS_Dol2Str() but does not format the  
  7160.      c_String to "dollars & cents"                                     
  7161.  
  7162.    See Also:   
  7163.      VS_Dol2Str()                                                          
  7164.  
  7165.  
  7166.  
  7167.  
  7168.  
  7169.  
  7170.  
  7171.  
  7172.  
  7173.  
  7174.  
  7175.  
  7176.  
  7177.  
  7178.  
  7179.  
  7180.  
  7181.  
  7182.  
  7183.  
  7184.  
  7185.  
  7186.  
  7187.                         Vern Six's Clipper ToolBox v8.00                        
  7188.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7189.  
  7190.                                     - 109 -                                     
  7191.  
  7192.  
  7193.  
  7194.  
  7195.  
  7196.  
  7197.  
  7198.  
  7199.  
  7200.    VS_OpenAll()         Opens all the databases in the data dictionar     
  7201.  
  7202.    Description:
  7203.      VS_OpenAll() opens all the files currently defined in your data       
  7204.      dictionary.  WARNING: You will need to have enough DOS file handles to
  7205.      use this function.                                                    
  7206.                                                                            
  7207.  
  7208.    Syntax:     
  7209.      l_Success = VS_OpenAll()                                              
  7210.  
  7211.    Pass:       
  7212.      Nothing                                                               
  7213.  
  7214.    Return:     
  7215.      l_Success is a logical expression that will be set to .T. if      
  7216.      VS_OpenAll() is successful, otherwise .F.                             
  7217.  
  7218.    Notes:      
  7219.      BEWARE that this function assumes that no databases are currently     
  7220.      open!!                                                                
  7221.  
  7222.    Example:    
  7223.      VS_OpenAll()                                                          
  7224.  
  7225.    Usage:      
  7226.  
  7227.    See Also:   
  7228.      VS_OpenDbf() VS_OpenLst()                                             
  7229.  
  7230.  
  7231.  
  7232.  
  7233.  
  7234.  
  7235.  
  7236.  
  7237.  
  7238.  
  7239.  
  7240.  
  7241.  
  7242.  
  7243.  
  7244.  
  7245.  
  7246.  
  7247.  
  7248.  
  7249.  
  7250.  
  7251.  
  7252.  
  7253.                         Vern Six's Clipper ToolBox v8.00                        
  7254.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7255.  
  7256.                                     - 110 -                                     
  7257.  
  7258.  
  7259.  
  7260.  
  7261.  
  7262.  
  7263.  
  7264.  
  7265.  
  7266.    VS_OpenDbf()         Opens a DBF file and all its NTX files            
  7267.  
  7268.    Description:
  7269.      VS_OpenDbf() uses a database dictionary to open a specified database  
  7270.      and all its associated index files.                                   
  7271.  
  7272.    Syntax:     
  7273.      l_Success = VS_OpenDbf( c_DbfName, [l_Exclusive], [c_Alias],          
  7274.      [c_Suffix] )                                                          
  7275.  
  7276.    Pass:       
  7277.      c_DbfName is a character expression that contains the name of the 
  7278.      DBF file to open.  No path or extension should be included. i.e.      
  7279.      "MYFILE" not "C:\DATA\MYFILE.DBF".                                    
  7280.                                                                            
  7281.      l_Exclusive is an optional logical expression which should be set 
  7282.      to .T. if c_DbfName is to be opened in exclusive mode, otherwise  
  7283.      it should be set to .F.  If omitted, l_Exclusive defaults to .F.  
  7284.                                                                            
  7285.      c_Alias is an optional character expression that contains the     
  7286.      alias name for c_DbfName.  If omitted, c_Alias defaults to the
  7287.      same value as c_DbfName.                                          
  7288.                                                                            
  7289.      c_Suffix is an optional character expression that contains a      
  7290.      suffix that will be added to the end of c_DbfName.  i.e. if       
  7291.      c_Suffix is "02" and c_DbfName was "CUST" then VS_OpenDbf()   
  7292.      would open the file called "CUST02".                                  
  7293.  
  7294.    Return:     
  7295.      l_Success is a logical expression that will be set to .T. if      
  7296.      VS_OpenDbf() was successful in opening the requested file, otherwise  
  7297.      it will be set to .F.                                                 
  7298.  
  7299.    Notes:      
  7300.      You must have properly setup the database and index dictionaries.     
  7301.      Sample database and index dictionaries have been provided with this   
  7302.      library (_DICTFLD.DBF, _DICTHDR.DBF, and _DICTNTX.DBF).  Please study 
  7303.      these examples to see how to properly setup a database/index          
  7304.      dictionary.                                                           
  7305.                                                                            
  7306.      If the database file you requested does not exist, it will be created 
  7307.      (unless the the field called CREATE in _DICTHDR.DBF is set to .F.).   
  7308.                                                                            
  7309.                                                                            
  7310.              **************************************                    
  7311.              *** WARNING!!  EXTREMELY IMPORTANT ***                    
  7312.              **************************************                    
  7313.                                                                            
  7314.      Clipper v5.0x:                                                    
  7315.                                                                            
  7316.      VS_OPENDBF() requires that you do not open any database file in       
  7317.  
  7318.  
  7319.                         Vern Six's Clipper ToolBox v8.00                        
  7320.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7321.  
  7322.                                     - 111 -                                     
  7323.  
  7324.  
  7325.  
  7326.  
  7327.  
  7328.  
  7329.  
  7330.  
  7331.  
  7332.      workarea 250. If you do, you will experience unpredictable results!   
  7333.  
  7334.    Example:    
  7335.      VS_OpenDbf( "CLIENTS" )                                               
  7336.  
  7337.    Usage:      
  7338.      VS_OpenDbf() is primarily used to allow several different database    
  7339.      applications to access common databases and maintain common index     
  7340.      files without having to re-compile and link each application.         
  7341.                                                                            
  7342.      In other words, the database structures and index keys are maintained 
  7343.      outside of **ALL** applications and thus can be used by all           
  7344.      applications.                                                         
  7345.                                                                            
  7346.      Example: Let's assume that you are writing a program that maintains an
  7347.      inventory database and your main file is called INVENT.DBF.  You have 
  7348.      an index called INV_NMBR.NTX with a key of "PROD_CODE+WHSE".          
  7349.                                                                            
  7350.      Let's further assume that a co-worker of yours is writing a program   
  7351.      that produces a listing of inventory based on its sales volume.       
  7352.      He/She needs an index file called INV_VOL.NTX with a key of           
  7353.      "TOT_SALES+PROD_CODE".                                                
  7354.                                                                            
  7355.      All that needs to take place so that both index files are maintained  
  7356.      is that the index file and its key are added to the index dictionary. 
  7357.      In this fashion your inventory maintenance program will open and      
  7358.      maintain the index files needed by your co-worker and vice-versa.     
  7359.  
  7360.    See Also:   
  7361.  
  7362.  
  7363.  
  7364.  
  7365.  
  7366.  
  7367.  
  7368.  
  7369.  
  7370.  
  7371.  
  7372.  
  7373.  
  7374.  
  7375.  
  7376.  
  7377.  
  7378.  
  7379.  
  7380.  
  7381.  
  7382.  
  7383.  
  7384.  
  7385.                         Vern Six's Clipper ToolBox v8.00                        
  7386.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7387.  
  7388.                                     - 112 -                                     
  7389.  
  7390.  
  7391.  
  7392.  
  7393.  
  7394.  
  7395.  
  7396.  
  7397.  
  7398.    VS_OpenDict()        Open the data dictionary                          
  7399.  
  7400.    Description:
  7401.      VS_OpenDict() is used internally by several functions that use the    
  7402.      data dictionary.  It's also available for your functions that need to 
  7403.      open the dictionary.                                                  
  7404.  
  7405.    Syntax:     
  7406.      l_Success = VS_OpenDict( c_FileName )                                 
  7407.  
  7408.    Pass:       
  7409.      c_FileName is a character expression that must contain one of the 
  7410.      following values...                                                   
  7411.                                                                            
  7412.         _DICTHDR, _DICTFLD, _DICTNTX                                       
  7413.  
  7414.    Return:     
  7415.      l_Success is a logical expression that will be set to .T. if      
  7416.      VS_OpenDict() was successful, otherwise it will be set to .F.         
  7417.  
  7418.    Notes:      
  7419.  
  7420.    Example:    
  7421.      IF VS_OpenDict("_DICTHDR")                                            
  7422.                                                                            
  7423.         DO WHILE .NOT. _DICTHDR->( EOF() )                                 
  7424.            Qout( _DICTHDR->DBF_NAME, _DICTHDR->DESC )                      
  7425.            _DICTHDR->( dbSkip() )                                          
  7426.         ENDDO                                                              
  7427.                                                                            
  7428.      ENDIF                                                                 
  7429.      ...                                                                   
  7430.                                                                            
  7431.  
  7432.    Usage:      
  7433.      VS_OpenDict() is primarily used internally by several functions in the
  7434.      Vern Six Clipper Toolbox.                                             
  7435.  
  7436.    See Also:   
  7437.      VS_CloseDict()                                                        
  7438.  
  7439.  
  7440.  
  7441.  
  7442.  
  7443.  
  7444.  
  7445.  
  7446.  
  7447.  
  7448.  
  7449.  
  7450.  
  7451.                         Vern Six's Clipper ToolBox v8.00                        
  7452.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7453.  
  7454.                                     - 113 -                                     
  7455.  
  7456.  
  7457.  
  7458.  
  7459.  
  7460.  
  7461.  
  7462.  
  7463.  
  7464.    VS_OpenLst()         Open a list of databases                          
  7465.  
  7466.    Description:
  7467.      VS_OpenLst() opens a list of databases.                               
  7468.  
  7469.    Syntax:     
  7470.      l_Success = VS_OpenLst( ac_DbfList )                                  
  7471.  
  7472.    Pass:       
  7473.      ac_DbfList is an array of character expressions each representing 
  7474.      a database to open.                                                   
  7475.  
  7476.    Return:     
  7477.      l_Success is a logical expression that will be set to .T. if      
  7478.      VS_OpenLst() was successful, otherwise .F.                            
  7479.  
  7480.    Notes:      
  7481.  
  7482.    Example:    
  7483.      IF .NOT. VS_OpenLst( {"DBF1","MYFILE"} )                              
  7484.         VS_Die("oooooops!")                                                
  7485.      ENDIF                                                                 
  7486.      ...                                                                   
  7487.  
  7488.    Usage:      
  7489.  
  7490.    See Also:   
  7491.      VS_OpenDbf()                                                          
  7492.  
  7493.  
  7494.  
  7495.  
  7496.  
  7497.  
  7498.  
  7499.  
  7500.  
  7501.  
  7502.  
  7503.  
  7504.  
  7505.  
  7506.  
  7507.  
  7508.  
  7509.  
  7510.  
  7511.  
  7512.  
  7513.  
  7514.  
  7515.  
  7516.  
  7517.                         Vern Six's Clipper ToolBox v8.00                        
  7518.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7519.  
  7520.                                     - 114 -                                     
  7521.  
  7522.  
  7523.  
  7524.  
  7525.  
  7526.  
  7527.  
  7528.  
  7529.  
  7530.    VS_Orange()          Returns the codes to turn "Orange" on             
  7531.  
  7532.    Description:
  7533.      VS_Orange() returns the appropriate control codes to make the         
  7534.      currently selected printer print in orange.                           
  7535.  
  7536.    Syntax:     
  7537.      c_CtrlCode = VS_Orange()                                              
  7538.  
  7539.    Pass:       
  7540.      Nothing                                                               
  7541.  
  7542.    Return:     
  7543.      c_CtrlCode is a character expression that represents the necessary
  7544.      control codes to print in orange.                                     
  7545.  
  7546.    Notes:      
  7547.      If a printer has not yet been selected, VS_Orange() will call         
  7548.      VS_InitPrtr().                                                        
  7549.                                                                            
  7550.      Note:                                                             
  7551.                                                                            
  7552.      Non-Color printers will be uneffected by the use of this function.    
  7553.  
  7554.    Example:    
  7555.      SET PRINT ON                                                          
  7556.         ? VS_Orange() + "This will be in orange"                           
  7557.      SET PRINT OFF                                                         
  7558.  
  7559.    Usage:      
  7560.  
  7561.    See Also:   
  7562.      VS_InitPrtr() STRUCT.NGO:Printers                                     
  7563.  
  7564.  
  7565.  
  7566.  
  7567.  
  7568.  
  7569.  
  7570.  
  7571.  
  7572.  
  7573.  
  7574.  
  7575.  
  7576.  
  7577.  
  7578.  
  7579.  
  7580.  
  7581.  
  7582.  
  7583.                         Vern Six's Clipper ToolBox v8.00                        
  7584.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7585.  
  7586.                                     - 115 -                                     
  7587.  
  7588.  
  7589.  
  7590.  
  7591.  
  7592.  
  7593.  
  7594.  
  7595.  
  7596.    VS_PackAll()         Removes deleted records from all databases        
  7597.  
  7598.    Description:
  7599.      VS_PackAll() will remove all deleted records in every database listed 
  7600.      in the data dictionary.                                               
  7601.  
  7602.    Syntax:     
  7603.      VS_PackAll()                                                          
  7604.  
  7605.    Pass:       
  7606.      Nothing                                                               
  7607.  
  7608.    Return:     
  7609.      VS_PackAll() always returns NIL                                       
  7610.  
  7611.    Notes:      
  7612.      This process may take quite some time!!                               
  7613.                                                                            
  7614.      VS_PackAll() assumes that all databases are currently closed!         
  7615.  
  7616.    Example:    
  7617.      VS_PackAll()                                                          
  7618.  
  7619.    Usage:      
  7620.  
  7621.    See Also:   
  7622.      VS_OpenDbf()                                                          
  7623.  
  7624.  
  7625.  
  7626.  
  7627.  
  7628.  
  7629.  
  7630.  
  7631.  
  7632.  
  7633.  
  7634.  
  7635.  
  7636.  
  7637.  
  7638.  
  7639.  
  7640.  
  7641.  
  7642.  
  7643.  
  7644.  
  7645.  
  7646.  
  7647.  
  7648.  
  7649.                         Vern Six's Clipper ToolBox v8.00                        
  7650.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7651.  
  7652.                                     - 116 -                                     
  7653.  
  7654.  
  7655.  
  7656.  
  7657.  
  7658.  
  7659.  
  7660.  
  7661.  
  7662.    VS_Palette()         Set the active color palette                      
  7663.  
  7664.    Description:
  7665.      VS_Palette() allows the programmer to switch between the nine         
  7666.      available color palettes.  Some functions in VERNSIX.LIB use a        
  7667.      specified palette i.e.  VS_Help uses palette #2, Error messages are   
  7668.      displayed using palette #3, and network delays are shown using palette
  7669.      #4.  The programmer is free to use any and all of the nine available  
  7670.      palettes.                                                             
  7671.  
  7672.    Syntax:     
  7673.      n_NewPalette = VS_Palette( n_Palette )                                
  7674.  
  7675.    Pass:       
  7676.      n_Palette is a numeric value representing the desired color       
  7677.      palette.  n_Palette must be in the range of 1 to 9.               
  7678.  
  7679.    Return:     
  7680.      n_NewPalette is a numeric expression that will contain the current
  7681.      (or the new) palette number.                                          
  7682.  
  7683.    Notes:      
  7684.      In order to allow the user to configure the various palettes to       
  7685.      his/her taste, it is the programmer's job to select the appropriate   
  7686.      palette prior to calling VS_Color().                                  
  7687.  
  7688.    Example:    
  7689.      IF l_Error = .T.                                                      
  7690.         VS_GRABSCR()                                                       
  7691.            VS_PALETTE(3)                                                   
  7692.            ac_Msg[1] = " Some error just happened "                        
  7693.            VS_MSG(ac_Msg,1,"","")                                          
  7694.            INKEY(10)                                                       
  7695.         VS_PUTSCR()                                                        
  7696.         ...                                                                
  7697.      ENDIF                                                                 
  7698.  
  7699.    Usage:      
  7700.      VS_Palette() is a very handy way to help direct the users' eyes to the
  7701.      appropriate location on the screen.  If designed effectively, the     
  7702.      users' eyes will be less strained after prolonged use of your         
  7703.      applications.                                                         
  7704.  
  7705.    See Also:   
  7706.      VS_Color() VS_SaveClr() VS_ReadClr() VS_DefPal()                      
  7707.  
  7708.  
  7709.  
  7710.  
  7711.  
  7712.  
  7713.  
  7714.  
  7715.                         Vern Six's Clipper ToolBox v8.00                        
  7716.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7717.  
  7718.                                     - 117 -                                     
  7719.  
  7720.  
  7721.  
  7722.  
  7723.  
  7724.  
  7725.  
  7726.  
  7727.  
  7728.    VS_Parse()           Parse a string for the next word                  
  7729.  
  7730.    Description:
  7731.      VS_Parse() will return the first word in a string.                    
  7732.  
  7733.    Syntax:     
  7734.      c_FirstWord = VS_Parse( c_Sentence )                                  
  7735.  
  7736.    Pass:       
  7737.      c_Sentence is a character expression containing the string to be  
  7738.      parsed.                                                               
  7739.  
  7740.    Return:     
  7741.      c_FirstWord is the first word of c_Sentence                   
  7742.  
  7743.    Notes:      
  7744.      VS_PARSE() will modify the passed string if you pass it by reference  
  7745.      instead of by value (i.e. preceed it with the @sign)                  
  7746.  
  7747.    Example:    
  7748.      c_Temp = "This is a test"                                             
  7749.      ? VS_PARSE(@c_Temp)                                                   
  7750.      ? c_Temp                                                              
  7751.                                                                            
  7752.      OUTPUT:  This                                                         
  7753.               is a test                                                    
  7754.  
  7755.    Usage:      
  7756.  
  7757.    See Also:   
  7758.  
  7759.  
  7760.  
  7761.  
  7762.  
  7763.  
  7764.  
  7765.  
  7766.  
  7767.  
  7768.  
  7769.  
  7770.  
  7771.  
  7772.  
  7773.  
  7774.  
  7775.  
  7776.  
  7777.  
  7778.  
  7779.  
  7780.  
  7781.                         Vern Six's Clipper ToolBox v8.00                        
  7782.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7783.  
  7784.                                     - 118 -                                     
  7785.  
  7786.  
  7787.  
  7788.  
  7789.  
  7790.  
  7791.  
  7792.  
  7793.  
  7794.    VS_Pick()*           Database "pick-list" routine                      
  7795.  
  7796.    Description:
  7797.      VS_Pick() allows the user to pick a record from a "pick-list" window. 
  7798.      The "pick-list" window contains a subset of fields for each record in 
  7799.      the database.                                                         
  7800.  
  7801.    Syntax:     
  7802.      n_Key = VS_PICK( n_Top, n_Left, n_MaxElements, c_FldList, c_Title,    
  7803.      c_Footnote, l_Index, c_EachLine, c_HdrLine, l_CanDelete, @n_CurrLine, 
  7804.      ac_Procs, an_Keys )                                                   
  7805.  
  7806.    Pass:       
  7807.      n_Top is a numeric value for the top row of the window            
  7808.                                                                            
  7809.      n_Left is a numeric value for the left column of the window       
  7810.                                                                            
  7811.      n_MaxElements is a numeric value representing the maximum number  
  7812.      of elements (lines) to display in the window at one time              
  7813.                                                                            
  7814.      c_FldList is a character expression representing the macro string 
  7815.      of fields to display on each line.  i.e. "FRST_NAME+[ ]+LAST_NAME"    
  7816.                                                                            
  7817.      c_Title is a character expression representing the title to be    
  7818.      displayed at the top of the window (offset to the left)               
  7819.                                                                            
  7820.      c_Footnote is a character expression representing the footnote to 
  7821.      be displayed at the bottom of the window (centered)                   
  7822.                                                                            
  7823.      l_Index is a logical expression that should be set to .T. if the  
  7824.      current database is indexed, otherwise it should be set to .F.        
  7825.                                                                            
  7826.      c_Proc is a character expression that represents the procedure    
  7827.      name that VS_Pick() will call before it displays each line in the     
  7828.      window.                                                               
  7829.                                                                            
  7830.      c_HdrLine is a character expression to be displayed inside the    
  7831.      window as a "header line"                                             
  7832.                                                                            
  7833.      l_Index is a logical expression that should be set to .T. if the  
  7834.      user is allowed to mark records for deletion, otherwise .F.           
  7835.                                                                            
  7836.      n_CurrLine is a numeric value representing the line to place the  
  7837.      light bar on (relative to top of window).  NOTE: The "@" sign is      
  7838.      required in order for VS_PICK() to maintain a correct display.        
  7839.                                                                            
  7840.      ac_Procs is an array of character expressions that tell VS_Pick() 
  7841.      which procedures to call from within the window.                      
  7842.                                                                            
  7843.      an_Keys is an array of numeric values (parallel to ac_Procs)  
  7844.      that indicate to VS_Pick() the INKEY() values of which keys invoke    
  7845.  
  7846.  
  7847.                         Vern Six's Clipper ToolBox v8.00                        
  7848.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7849.  
  7850.                                     - 119 -                                     
  7851.  
  7852.  
  7853.  
  7854.  
  7855.  
  7856.  
  7857.  
  7858.  
  7859.  
  7860.      which procedure.  In other words, if the user presses a key listed in 
  7861.      this array VS_Pick() will call the procedure named in the parallel    
  7862.      element of ac_Procs.                                              
  7863.  
  7864.    Return:     
  7865.      n_Key is a numeric exprression that represents the INKEY() value  
  7866.      of last key pressed by user                                           
  7867.  
  7868.    Notes:      
  7869.  
  7870.    Example:    
  7871.                                                                            
  7872.                                                                            
  7873.                                                                            
  7874.                                                                            
  7875.      n_BarLine = 0                                                         
  7876.      c_FldList = "LAST_NAME+[ ]+FRST_NAME+[ ]+PHONE"                       
  7877.      DO WHILE .T.                                                          
  7878.         n_Key = VS_PICK(5,5,12,c_FldList,"Title","Footnote",;              
  7879.                 .T.,"","Header",.F.,@n_BarLine)                            
  7880.         DO CASE                                                            
  7881.            CASE n_Key = 13   && [Return]                                   
  7882.               EDITPROG()     && Edit current record                        
  7883.            CASE n_Key = 22   && [Insert]                                   
  7884.               ADD_PROG()     && Add new record                             
  7885.            CASE n_Key = 27   && [Escape]                                   
  7886.               EXIT                                                         
  7887.         ENDCASE                                                            
  7888.      ENDDO                                                                 
  7889.  
  7890.    Usage:      
  7891.  
  7892.    See Also:   
  7893.      VS_Edit()                                                             
  7894.  
  7895.  
  7896.  
  7897.  
  7898.  
  7899.  
  7900.  
  7901.  
  7902.  
  7903.  
  7904.  
  7905.  
  7906.  
  7907.  
  7908.  
  7909.  
  7910.  
  7911.  
  7912.  
  7913.                         Vern Six's Clipper ToolBox v8.00                        
  7914.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7915.  
  7916.                                     - 120 -                                     
  7917.  
  7918.  
  7919.  
  7920.  
  7921.  
  7922.  
  7923.  
  7924.  
  7925.  
  7926.    VS_PopDbf()          Restores a work area the way it was from stck     
  7927.  
  7928.    Description:
  7929.      VS_PopDbf() will restore a work area to the way it was when           
  7930.      VS_PushDbf() was last called.                                         
  7931.  
  7932.    Syntax:     
  7933.      VS_PushDbf( [n_HowMany] )                                             
  7934.  
  7935.    Pass:       
  7936.      n_HowMany is an optional numeric value representing how many work 
  7937.      areas to retore.  The default is one.                                 
  7938.  
  7939.    Return:     
  7940.      VS_PopDbf() will always return NIL.                                   
  7941.  
  7942.    Notes:      
  7943.  
  7944.    Example:    
  7945.      VS_PushDbf()                                                          
  7946.         SELECT SOME_AREA                                                   
  7947.         DO SOME_WORK                                                       
  7948.         ...                                                                
  7949.      VS_PopDbf()                                                           
  7950.  
  7951.    Usage:      
  7952.      VS_PopDbf() should be called by your programs as part of the clean up 
  7953.      process before they exit.  VS_PopDbf() must be used "balanced" with   
  7954.      VS_PushDbf().                                                         
  7955.  
  7956.    See Also:   
  7957.      VS_PushDbf() VS_PutScr() VS_PopSets()                                 
  7958.  
  7959.  
  7960.  
  7961.  
  7962.  
  7963.  
  7964.  
  7965.  
  7966.  
  7967.  
  7968.  
  7969.  
  7970.  
  7971.  
  7972.  
  7973.  
  7974.  
  7975.  
  7976.  
  7977.  
  7978.  
  7979.                         Vern Six's Clipper ToolBox v8.00                        
  7980.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  7981.  
  7982.                                     - 121 -                                     
  7983.  
  7984.  
  7985.  
  7986.  
  7987.  
  7988.  
  7989.  
  7990.  
  7991.  
  7992.    VS_PopSets()         Restores all of the SET settings from stack       
  7993.  
  7994.    Description:
  7995.      VS_PopSets() will restore all the SET settings saved with the last    
  7996.      call to VS_PushSets().                                                
  7997.  
  7998.    Syntax:     
  7999.      VS_PopSets()                                                          
  8000.  
  8001.    Pass:       
  8002.      Nothing                                                               
  8003.  
  8004.    Return:     
  8005.      VS_PopSets() will always return NIL                                   
  8006.  
  8007.    Notes:      
  8008.  
  8009.    Example:    
  8010.      VS_PushSets()                                                         
  8011.         SET(_SET_ALTFILE,"MYFILE.TXT")                                     
  8012.         ...                                                                
  8013.      VS_PopSets()                                                          
  8014.  
  8015.    Usage:      
  8016.      VS_PopSets() should be called by your programs as part of the clean-up
  8017.      before they exit.  VS_PopSets() must be used in "balance" with        
  8018.      VS_PushSets().                                                        
  8019.  
  8020.    See Also:   
  8021.      VS_PushSets() VS_PutScr() VS_PopDbf()                                 
  8022.  
  8023.  
  8024.  
  8025.  
  8026.  
  8027.  
  8028.  
  8029.  
  8030.  
  8031.  
  8032.  
  8033.  
  8034.  
  8035.  
  8036.  
  8037.  
  8038.  
  8039.  
  8040.  
  8041.  
  8042.  
  8043.  
  8044.  
  8045.                         Vern Six's Clipper ToolBox v8.00                        
  8046.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8047.  
  8048.                                     - 122 -                                     
  8049.  
  8050.  
  8051.  
  8052.  
  8053.  
  8054.  
  8055.  
  8056.  
  8057.  
  8058.    VS_PrintNtx()        Print the internal index stack                    
  8059.  
  8060.    Description:
  8061.      VS_PrintNtx() prints the internal index stack that is maintained by   
  8062.      VS_OpenDbf() when it opens files.                                     
  8063.  
  8064.    Syntax:     
  8065.      VS_PrintNtx()                                                         
  8066.  
  8067.    Pass:       
  8068.      Nothing                                                               
  8069.  
  8070.    Return:     
  8071.      VS_PrintNtx() always returns NIL                                      
  8072.  
  8073.    Notes:      
  8074.  
  8075.    Example:    
  8076.      VS_PrintNtx()                                                         
  8077.  
  8078.    Usage:      
  8079.      VS_PrintNtx() is useful for debugging purposes and really has very    
  8080.      little other value.                                                   
  8081.  
  8082.    See Also:   
  8083.      VS_NtxDict()                                                          
  8084.  
  8085.  
  8086.  
  8087.  
  8088.  
  8089.  
  8090.  
  8091.  
  8092.  
  8093.  
  8094.  
  8095.  
  8096.  
  8097.  
  8098.  
  8099.  
  8100.  
  8101.  
  8102.  
  8103.  
  8104.  
  8105.  
  8106.  
  8107.  
  8108.  
  8109.  
  8110.  
  8111.                         Vern Six's Clipper ToolBox v8.00                        
  8112.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8113.  
  8114.                                     - 123 -                                     
  8115.  
  8116.  
  8117.  
  8118.  
  8119.  
  8120.  
  8121.  
  8122.  
  8123.  
  8124.    VS_PrintTst()        Tests the currently defined printer               
  8125.  
  8126.    Description:
  8127.      VS_PrintTst() allows the programmer to provide a way for the user to  
  8128.      test his/her printer setup.                                           
  8129.  
  8130.    Syntax:     
  8131.      VS_PrintTst()                                                         
  8132.  
  8133.    Pass:       
  8134.      Nothing                                                               
  8135.  
  8136.    Return:     
  8137.      VS_PrintTst() always returns NIL                                      
  8138.  
  8139.    Notes:      
  8140.      This function was written by Jerry Eckler of The Switchroom BBS at    
  8141.      817/280-0009, 24hrs per day, 2400 baud.  Thanks Jerry!!               
  8142.  
  8143.    Example:    
  8144.      VS_PrintTst()                                                         
  8145.  
  8146.    Usage:      
  8147.  
  8148.    See Also:   
  8149.      VS_InitPrtr()                                                         
  8150.  
  8151.  
  8152.  
  8153.  
  8154.  
  8155.  
  8156.  
  8157.  
  8158.  
  8159.  
  8160.  
  8161.  
  8162.  
  8163.  
  8164.  
  8165.  
  8166.  
  8167.  
  8168.  
  8169.  
  8170.  
  8171.  
  8172.  
  8173.  
  8174.  
  8175.  
  8176.  
  8177.                         Vern Six's Clipper ToolBox v8.00                        
  8178.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8179.  
  8180.                                     - 124 -                                     
  8181.  
  8182.  
  8183.  
  8184.  
  8185.  
  8186.  
  8187.  
  8188.  
  8189.  
  8190.    VS_Proper()          Sets the first letter to Uppercase                
  8191.  
  8192.    Description:
  8193.      VS_Proper() accepts a character string and converts all to lowercase, 
  8194.      and then converts the first character to uppercase.                   
  8195.  
  8196.    Syntax:     
  8197.      c_ProperString = VS_Proper( c_String )                                
  8198.  
  8199.    Pass:       
  8200.      c_String is the character expression VS_Proper() is to convert.   
  8201.  
  8202.    Return:     
  8203.      c_ProperString is a character expression of c_String with the 
  8204.      first character converted to uppercase and all others converted to    
  8205.      lowercase.                                                            
  8206.  
  8207.    Notes:      
  8208.  
  8209.    Example:    
  8210.      ? VS_PROPER("this is a test.")                                        
  8211.                                                                            
  8212.      Will return "This is a test."                                         
  8213.  
  8214.    Usage:      
  8215.      @ 10,10 SAY 'Please input your first name.'                           
  8216.      @ 11, 10 GET c_Fname                                                  
  8217.      read                                                                  
  8218.      c_Fname := VS_PROPER(c_Fname)                                         
  8219.      CLS                                                                   
  8220.      @ 12,12 SAY "Hello, " + c_Fname                                       
  8221.  
  8222.    See Also:   
  8223.  
  8224.  
  8225.  
  8226.  
  8227.  
  8228.  
  8229.  
  8230.  
  8231.  
  8232.  
  8233.  
  8234.  
  8235.  
  8236.  
  8237.  
  8238.  
  8239.  
  8240.  
  8241.  
  8242.  
  8243.                         Vern Six's Clipper ToolBox v8.00                        
  8244.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8245.  
  8246.                                     - 125 -                                     
  8247.  
  8248.  
  8249.  
  8250.  
  8251.  
  8252.  
  8253.  
  8254.  
  8255.  
  8256.    VS_PrtMsg()          Display a "printing" message                      
  8257.  
  8258.    Description:
  8259.      VS_PrtMsg() will display a "cute" little message telling the user that
  8260.      a report is printing.                                                 
  8261.  
  8262.    Syntax:     
  8263.      VS_PrtMsg(n_Palette)                                                  
  8264.  
  8265.    Pass:       
  8266.      n_Palette is a numeric value representing the palette for the     
  8267.      window.                                                               
  8268.  
  8269.    Return:     
  8270.      VS_PrtMsg() always returns NIL                                        
  8271.  
  8272.    Notes:      
  8273.      VS_PrtMsg() is non-screen destructive.  VS_PrtMsg() is designed to be 
  8274.      used in concert with VS_EndText().                                    
  8275.                                                                            
  8276.  
  8277.    Example:    
  8278.      VS_PrtMsg()                                                           
  8279.         ...                                                                
  8280.         ...                                                                
  8281.      VS_EndText()                                                          
  8282.  
  8283.    Usage:      
  8284.      VS_PrtMsg() displays a "printer" picture and the message... "Printing.
  8285.       Please wait..."                                                      
  8286.  
  8287.    See Also:   
  8288.  
  8289.  
  8290.  
  8291.  
  8292.  
  8293.  
  8294.  
  8295.  
  8296.  
  8297.  
  8298.  
  8299.  
  8300.  
  8301.  
  8302.  
  8303.  
  8304.  
  8305.  
  8306.  
  8307.  
  8308.  
  8309.                         Vern Six's Clipper ToolBox v8.00                        
  8310.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8311.  
  8312.                                     - 126 -                                     
  8313.  
  8314.  
  8315.  
  8316.  
  8317.  
  8318.  
  8319.  
  8320.  
  8321.  
  8322.    VS_Purple()          Returns the codes to turn "Purple" on             
  8323.  
  8324.    Description:
  8325.      VS_Purple() returns the appropriate control codes to make the         
  8326.      currently selected printer print in purple.                           
  8327.  
  8328.    Syntax:     
  8329.      c_CtrlCode = VS_Purple()                                              
  8330.  
  8331.    Pass:       
  8332.      Nothing                                                               
  8333.  
  8334.    Return:     
  8335.      c_CtrlCode is a character expression that represents the necessary
  8336.      control codes to print in purple.                                     
  8337.  
  8338.    Notes:      
  8339.      If a printer has not yet been selected, VS_Purple() will call         
  8340.      VS_InitPrtr().                                                        
  8341.                                                                            
  8342.      Note:                                                             
  8343.                                                                            
  8344.      Non-Color printers will be uneffected by the use of this function.    
  8345.  
  8346.    Example:    
  8347.      SET PRINT ON                                                          
  8348.         ? VS_Purple() + "This will be in purple"                           
  8349.      SET PRINT OFF                                                         
  8350.  
  8351.    Usage:      
  8352.  
  8353.    See Also:   
  8354.      VS_InitPrtr() STRUCT.NGO:Printers                                     
  8355.  
  8356.  
  8357.  
  8358.  
  8359.  
  8360.  
  8361.  
  8362.  
  8363.  
  8364.  
  8365.  
  8366.  
  8367.  
  8368.  
  8369.  
  8370.  
  8371.  
  8372.  
  8373.  
  8374.  
  8375.                         Vern Six's Clipper ToolBox v8.00                        
  8376.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8377.  
  8378.                                     - 127 -                                     
  8379.  
  8380.  
  8381.  
  8382.  
  8383.  
  8384.  
  8385.  
  8386.  
  8387.  
  8388.    VS_PushDbf()         Save all the information about a work area        
  8389.  
  8390.    Description:
  8391.      VS_PushDbf() will preserve the status of a work area.                 
  8392.  
  8393.    Syntax:     
  8394.      VS_PushDbf( [c_Alias] )                                               
  8395.  
  8396.    Pass:       
  8397.      c_Alias is an optional character expression that should contain   
  8398.      the ALIAS() name of the work area to PUSH onto the stack.  If         
  8399.      c_Alias is not specified, it will default to the ALIAS() name for 
  8400.      the current work area.                                                
  8401.  
  8402.    Return:     
  8403.      VS_PushDbf() always returns NIL                                       
  8404.  
  8405.    Notes:      
  8406.  
  8407.    Example:    
  8408.      VS_PushDbf()                                                          
  8409.         SELECT SOME_ALIAS                                                  
  8410.         DO SOME_WORK                                                       
  8411.         ...                                                                
  8412.      VS_PopDbf()                                                           
  8413.  
  8414.    Usage:      
  8415.      VS_PushDbf() allows your programs to not worry about what records were
  8416.      current in a given work area.  This allows you to put things back the 
  8417.      way they were when your function was called.  VS_PushDbf() must be    
  8418.      used in conjunction with VS_PopDbf().                                 
  8419.  
  8420.    See Also:   
  8421.      VS_PopDbf() VS_PutScr() VS_PutScr()                                   
  8422.  
  8423.  
  8424.  
  8425.  
  8426.  
  8427.  
  8428.  
  8429.  
  8430.  
  8431.  
  8432.  
  8433.  
  8434.  
  8435.  
  8436.  
  8437.  
  8438.  
  8439.  
  8440.  
  8441.                         Vern Six's Clipper ToolBox v8.00                        
  8442.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8443.  
  8444.                                     - 128 -                                     
  8445.  
  8446.  
  8447.  
  8448.  
  8449.  
  8450.  
  8451.  
  8452.  
  8453.  
  8454.    VS_PushSets()        Save all of the SET settings to a stack           
  8455.  
  8456.    Description:
  8457.      VS_PushSets() will save all of the SET settings to a stack for later  
  8458.      recall by VS_PopSets().  This function is very similar to VS_GrabScr()
  8459.      and VS_PushDbf().                                                     
  8460.  
  8461.    Syntax:     
  8462.      VS_PushSets()                                                         
  8463.  
  8464.    Pass:       
  8465.      Nothing                                                               
  8466.  
  8467.    Return:     
  8468.      VS_PushSets() will always return NIL.                                 
  8469.  
  8470.    Notes:      
  8471.  
  8472.    Example:    
  8473.      VS_PushSets()                                                         
  8474.         SET(_SET_ALTFILE,"MYFILE.TXT")                                     
  8475.         ...                                                                
  8476.      VS_PopSets()                                                          
  8477.  
  8478.    Usage:      
  8479.      VS_PushSets() should be called by your programs prior to changing any 
  8480.      SET settings.  When you program finishes, it should call VS_PopSets().
  8481.       This will eliminate any unwanted side effects.                       
  8482.  
  8483.    See Also:   
  8484.      VS_PopSets() VS_GrabScr() VS_PushDbf()                                
  8485.  
  8486.  
  8487.  
  8488.  
  8489.  
  8490.  
  8491.  
  8492.  
  8493.  
  8494.  
  8495.  
  8496.  
  8497.  
  8498.  
  8499.  
  8500.  
  8501.  
  8502.  
  8503.  
  8504.  
  8505.  
  8506.  
  8507.                         Vern Six's Clipper ToolBox v8.00                        
  8508.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8509.  
  8510.                                     - 129 -                                     
  8511.  
  8512.  
  8513.  
  8514.  
  8515.  
  8516.  
  8517.  
  8518.  
  8519.  
  8520.    VS_PutScr()          Restores a screen captured with VS_GrabScr()      
  8521.  
  8522.    Description:
  8523.      Restores a screen captured with VS_GrabScr()                          
  8524.  
  8525.    Syntax:     
  8526.      VS_PutScr()                                                           
  8527.  
  8528.    Pass:       
  8529.      Nothing                                                               
  8530.  
  8531.    Return:     
  8532.      VS_PutScr() always returns NIL                                        
  8533.  
  8534.    Notes:      
  8535.  
  8536.    Example:    
  8537.      VS_GRABSCR()                                                          
  8538.         ACCEPT "Please type something " to c_memvar                        
  8539.      VS_PUTSCR()                                                           
  8540.  
  8541.    Usage:      
  8542.  
  8543.    See Also:   
  8544.      VS_GrabScr()                                                          
  8545.  
  8546.  
  8547.  
  8548.  
  8549.  
  8550.  
  8551.  
  8552.  
  8553.  
  8554.  
  8555.  
  8556.  
  8557.  
  8558.  
  8559.  
  8560.  
  8561.  
  8562.  
  8563.  
  8564.  
  8565.  
  8566.  
  8567.  
  8568.  
  8569.  
  8570.  
  8571.  
  8572.  
  8573.                         Vern Six's Clipper ToolBox v8.00                        
  8574.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8575.  
  8576.                                     - 130 -                                     
  8577.  
  8578.  
  8579.  
  8580.  
  8581.  
  8582.  
  8583.  
  8584.  
  8585.  
  8586.    VS_RLock()           Locks the currently selected record               
  8587.  
  8588.    Description:
  8589.      VS_RLock() locks the currently selected record or notifies the user if
  8590.      unsuccessful.                                                         
  8591.  
  8592.    Syntax:     
  8593.      l_Success = VS_RLock()                                                
  8594.  
  8595.    Pass:       
  8596.      Nothing                                                               
  8597.  
  8598.    Return:     
  8599.      l_Success is a logical expression that will be set to .T. if      
  8600.      successful, otherwise .F.                                             
  8601.  
  8602.    Notes:      
  8603.  
  8604.    Example:    
  8605.      DO WHILE whatever                                                     
  8606.         IF .NOT. VS_RLOCK()                                                
  8607.            ac_msg[1] = "Unable to lock current record"                     
  8608.            ac_msg[2] = "Operation aborted"                                 
  8609.            VS_MSG(ac_msg,2,"","")                                          
  8610.            INKEY(5)                                                        
  8611.            EXIT                                                            
  8612.         ENDIF                                                              
  8613.         .                                                                  
  8614.         .                                                                  
  8615.         .                                                                  
  8616.      ENDDO                                                                 
  8617.  
  8618.    Usage:      
  8619.      VS_RLock() will try to lock the currently selected record. If it is   
  8620.      unsuccessful, a non-screen destructive message stating "Waiting for   
  8621.      busy network.  Press any key to abort." will appear on the screen and 
  8622.      VS_RLock() will continue attempting to lock the currently selected    
  8623.      file. If the user aborts the operation by pressing a key, VS_RLock()  
  8624.      will return a logical value of false.  If VS_RLock() returns a value  
  8625.      of false, it is your job as the programmer to abort the operation and 
  8626.      recover properly.                                                     
  8627.  
  8628.    See Also:   
  8629.      VS_FakeLck VS_Append() VS_FLock() VS_Use()                            
  8630.  
  8631.  
  8632.  
  8633.  
  8634.  
  8635.  
  8636.  
  8637.  
  8638.  
  8639.                         Vern Six's Clipper ToolBox v8.00                        
  8640.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8641.  
  8642.                                     - 131 -                                     
  8643.  
  8644.  
  8645.  
  8646.  
  8647.  
  8648.  
  8649.  
  8650.  
  8651.  
  8652.    VS_Random()          Returns a random integer                          
  8653.  
  8654.    Description:
  8655.      VS_Random() will return a random number based on the parameters you   
  8656.      pass it.                                                              
  8657.  
  8658.    Syntax:     
  8659.      n_Random = VS_Random( n_Max, n_Seed )                                 
  8660.  
  8661.    Pass:       
  8662.      n_Max is the maximum number that VS_Random() will generate        
  8663.                                                                            
  8664.      n_Seed is a random number seed that VS_Random() will use to make  
  8665.      sure the number is truly "random".  i.e. A computer is really         
  8666.      incapable of generating a truly "random" number.  It must perform some
  8667.      algorithm on a specified number to generate what appears to be a      
  8668.      "random".  By allowing the programmer to provide a "random number     
  8669.      seed" each program has the ability to have a slightly different       
  8670.      alogrithm and therefore VS_Random() will generate a slightly different
  8671.      number.                                                               
  8672.  
  8673.    Return:     
  8674.      n_Random is a random integer between 0 and n_Max              
  8675.  
  8676.    Notes:      
  8677.  
  8678.    Example:    
  8679.      ? VS_RANDOM(100,23456)     // Will supply a random integer between 0  
  8680.      and 100.                                                              
  8681.  
  8682.    Usage:      
  8683.  
  8684.    See Also:   
  8685.  
  8686.  
  8687.  
  8688.  
  8689.  
  8690.  
  8691.  
  8692.  
  8693.  
  8694.  
  8695.  
  8696.  
  8697.  
  8698.  
  8699.  
  8700.  
  8701.  
  8702.  
  8703.  
  8704.  
  8705.                         Vern Six's Clipper ToolBox v8.00                        
  8706.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8707.  
  8708.                                     - 132 -                                     
  8709.  
  8710.  
  8711.  
  8712.  
  8713.  
  8714.  
  8715.  
  8716.  
  8717.  
  8718.    VS_ReadClr()         Reads color palettes from config database         
  8719.  
  8720.    Description:
  8721.      VS_ReadClr() is used by VERNSIX.LIB to read the color palettes from   
  8722.      the configuration database.  You may call it from within your programs
  8723.      as well, although there should never be a need to do so.              
  8724.  
  8725.    Syntax:     
  8726.      l_Success = VS_ReadClr()                                              
  8727.  
  8728.    Pass:       
  8729.      Nothing                                                               
  8730.  
  8731.    Return:     
  8732.      l_Success is a logical expression that will be set to .T. if      
  8733.      VS_ReadClr() was successful otherwise it will be set to .F.           
  8734.  
  8735.    Notes:      
  8736.      There should rarely ever be a need for a programmer to use this       
  8737.      function since VERNSIX.LIB handles it for you.                        
  8738.  
  8739.    Example:    
  8740.      VS_READCLR()                                                          
  8741.  
  8742.    Usage:      
  8743.  
  8744.    See Also:   
  8745.      VS_SaveClr()                                                          
  8746.  
  8747.  
  8748.  
  8749.  
  8750.  
  8751.  
  8752.  
  8753.  
  8754.  
  8755.  
  8756.  
  8757.  
  8758.  
  8759.  
  8760.  
  8761.  
  8762.  
  8763.  
  8764.  
  8765.  
  8766.  
  8767.  
  8768.  
  8769.  
  8770.  
  8771.                         Vern Six's Clipper ToolBox v8.00                        
  8772.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8773.  
  8774.                                     - 133 -                                     
  8775.  
  8776.  
  8777.  
  8778.  
  8779.  
  8780.  
  8781.  
  8782.  
  8783.  
  8784.    VS_Red()             Returns the codes to turn "Red" on                
  8785.  
  8786.    Description:
  8787.      VS_Red() returns the appropriate control codes to make the currently  
  8788.      selected printer print in red.                                        
  8789.  
  8790.    Syntax:     
  8791.      c_CtrlCode = VS_Red()                                                 
  8792.  
  8793.    Pass:       
  8794.      Nothing                                                               
  8795.  
  8796.    Return:     
  8797.      c_CtrlCode is a character expression that represents the necessary
  8798.      control codes to print in red.                                        
  8799.  
  8800.    Notes:      
  8801.      If a printer has not yet been selected, VS_Red() will call            
  8802.      VS_InitPrtr().                                                        
  8803.                                                                            
  8804.      Note:                                                             
  8805.                                                                            
  8806.      Non-Color printers will be uneffected by the use of this function.    
  8807.  
  8808.    Example:    
  8809.      SET PRINT ON                                                          
  8810.         ? VS_Red() + "This will be in red"                                 
  8811.      SET PRINT OFF                                                         
  8812.  
  8813.    Usage:      
  8814.  
  8815.    See Also:   
  8816.      VS_InitPrtr() STRUCT.NGO:Printers                                     
  8817.  
  8818.  
  8819.  
  8820.  
  8821.  
  8822.  
  8823.  
  8824.  
  8825.  
  8826.  
  8827.  
  8828.  
  8829.  
  8830.  
  8831.  
  8832.  
  8833.  
  8834.  
  8835.  
  8836.  
  8837.                         Vern Six's Clipper ToolBox v8.00                        
  8838.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8839.  
  8840.                                     - 134 -                                     
  8841.  
  8842.  
  8843.  
  8844.  
  8845.  
  8846.  
  8847.  
  8848.  
  8849.  
  8850.    VS_Reset()           Returns control codes to reset the printer        
  8851.  
  8852.    Description:
  8853.      VS_Reset() returns the control codes needed to reset the currently    
  8854.      selected printer to it's power on reset state.                        
  8855.  
  8856.    Syntax:     
  8857.      c_ResetCode = VS_Reset()                                              
  8858.  
  8859.    Pass:       
  8860.      Nothin                                                                
  8861.  
  8862.    Return:     
  8863.      c_ResetCode is a character expression containing the necessary    
  8864.      codes to make the currently selected printer reset itself its         
  8865.      "power-on" state.                                                     
  8866.  
  8867.    Notes:      
  8868.      If a printer has not been selected, VS_Reset() will call VS_InitPrtr()
  8869.      for you.                                                              
  8870.  
  8871.    Example:    
  8872.      SET PRINT ON                                                          
  8873.         ? VS_Reset()                                                       
  8874.      SET PRINT OFF                                                         
  8875.  
  8876.    Usage:      
  8877.  
  8878.    See Also:   
  8879.      VS_InitPrtr()                                                         
  8880.  
  8881.  
  8882.  
  8883.  
  8884.  
  8885.  
  8886.  
  8887.  
  8888.  
  8889.  
  8890.  
  8891.  
  8892.  
  8893.  
  8894.  
  8895.  
  8896.  
  8897.  
  8898.  
  8899.  
  8900.  
  8901.  
  8902.  
  8903.                         Vern Six's Clipper ToolBox v8.00                        
  8904.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8905.  
  8906.                                     - 135 -                                     
  8907.  
  8908.  
  8909.  
  8910.  
  8911.  
  8912.  
  8913.  
  8914.  
  8915.  
  8916.    VS_SaveClr()         Saves color palettes to config database           
  8917.  
  8918.    Description:
  8919.      VS_SaveClr() is used by VERNSIX.LIB to save the color palettes to the 
  8920.      configuration database.  You may call it from within your programs as 
  8921.      well, although there should never be a need to do so.                 
  8922.  
  8923.    Syntax:     
  8924.      l_Success = VS_SaveClr()                                              
  8925.  
  8926.    Pass:       
  8927.      Nothing                                                               
  8928.  
  8929.    Return:     
  8930.      l_Success is a logical expression that will be set to .T. if      
  8931.      successful, otherwise .F.                                             
  8932.  
  8933.    Notes:      
  8934.      There should rarely ever be a need for a programmer to use this       
  8935.      function since VERNSIX.LIB handles it for you.                        
  8936.  
  8937.    Example:    
  8938.      VS_SAVECLR()                                                          
  8939.  
  8940.    Usage:      
  8941.  
  8942.    See Also:   
  8943.      VS_ReadClr()                                                          
  8944.  
  8945.  
  8946.  
  8947.  
  8948.  
  8949.  
  8950.  
  8951.  
  8952.  
  8953.  
  8954.  
  8955.  
  8956.  
  8957.  
  8958.  
  8959.  
  8960.  
  8961.  
  8962.  
  8963.  
  8964.  
  8965.  
  8966.  
  8967.  
  8968.  
  8969.                         Vern Six's Clipper ToolBox v8.00                        
  8970.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  8971.  
  8972.                                     - 136 -                                     
  8973.  
  8974.  
  8975.  
  8976.  
  8977.  
  8978.  
  8979.  
  8980.  
  8981.  
  8982.    VS_ScrlBar()         Calculate light bar position                      
  8983.  
  8984.    Description:
  8985.      VS_ScrlBar() calculates the light bar position for "procedure meters" 
  8986.      such as VS_ShowNtx(), etc.                                            
  8987.  
  8988.    Syntax:     
  8989.      n_BarLine = VS_ScrlBar( n_RelPos, n_Blocks, n_Elements )              
  8990.  
  8991.    Pass:       
  8992.      n_RelPos is a numeric value that represents the relativ position  
  8993.      win the list (eg which line are we on?, how fr along is procedure?,   
  8994.      etc.)                                                                 
  8995.                                                                            
  8996.      n_Blocks is a numeric value that represents how many blocks are   
  8997.      the scroll bar(don't include the up/down pointers if youe them)       
  8998.                                                                            
  8999.      n_Elements is a numeric value that represents how many total      
  9000.      lements (enes within a list, records within a dbf, etc)               
  9001.  
  9002.    Return:     
  9003.      n_BarLine is a numeric value that represents which line to draw   
  9004.      the "high-light" marker on.                                           
  9005.  
  9006.    Notes:      
  9007.  
  9008.    Example:    
  9009.      @ 10,25 SAY REPLICATE("░",50)                                         
  9010.      @ 11,25 SAY VS_PadStr("Percentage Complete",50)                       
  9011.                                                                            
  9012.      GO TOP                                                                
  9013.      DO WHILE .NOT. EOF()                                                  
  9014.                                                                            
  9015.         @ 10,25 SAY REPLICATE("█", VS_ScrlBar(RECNO(),50,RECCOUNT()) )     
  9016.                                                                            
  9017.         DO SomeProcs                                                       
  9018.         ...                                                                
  9019.                                                                            
  9020.         SKIP                                                               
  9021.                                                                            
  9022.      ENDDO                                                                 
  9023.  
  9024.    Usage:      
  9025.      VS_ScrlBar() is used within VERNSIX.LIB in several locations to show  
  9026.      the user what the status of an operation is, and to show positions    
  9027.      within a list, etc.                                                   
  9028.                                                                            
  9029.      Carefully study ACHOICE() and TBROWSE() and you will see unlimited    
  9030.      potential for VS_ScrlBar()                                            
  9031.  
  9032.    See Also:   
  9033.  
  9034.  
  9035.                         Vern Six's Clipper ToolBox v8.00                        
  9036.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9037.  
  9038.                                     - 137 -                                     
  9039.  
  9040.  
  9041.  
  9042.  
  9043.  
  9044.  
  9045.  
  9046.  
  9047.  
  9048.  
  9049.  
  9050.  
  9051.  
  9052.  
  9053.  
  9054.  
  9055.  
  9056.  
  9057.  
  9058.  
  9059.  
  9060.  
  9061.  
  9062.  
  9063.  
  9064.  
  9065.  
  9066.  
  9067.  
  9068.  
  9069.  
  9070.  
  9071.  
  9072.  
  9073.  
  9074.  
  9075.  
  9076.  
  9077.  
  9078.  
  9079.  
  9080.  
  9081.  
  9082.  
  9083.  
  9084.  
  9085.  
  9086.  
  9087.  
  9088.  
  9089.  
  9090.  
  9091.  
  9092.  
  9093.  
  9094.  
  9095.  
  9096.  
  9097.  
  9098.  
  9099.  
  9100.  
  9101.                         Vern Six's Clipper ToolBox v8.00                        
  9102.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9103.  
  9104.                                     - 138 -                                     
  9105.  
  9106.  
  9107.  
  9108.  
  9109.  
  9110.  
  9111.  
  9112.  
  9113.  
  9114.    VS_SemaMins()        Set number of minutes a semaphore remains active  
  9115.  
  9116.    Description:
  9117.      VS_SemaMins() allows you to change/read the number of minutes that a  
  9118.      semaphore can remain active.                                          
  9119.  
  9120.    Syntax:     
  9121.      n_OldMax = VS_SemaMins( [n_MaxMins] )                                 
  9122.  
  9123.    Pass:       
  9124.      n_MaxMins is an optional numeric expression that should contain   
  9125.      the maximum number of minutes that a semaphore can remain active.     
  9126.  
  9127.    Return:     
  9128.      n_OldMax is a numeric expression that will contain the current    
  9129.      maximum number of minutes that a semaphore can remain active.  The    
  9130.      default is fifteen minutes.                                           
  9131.  
  9132.    Notes:      
  9133.  
  9134.    Example:    
  9135.      VS_SemaMins( 10 )                                                     
  9136.  
  9137.    Usage:      
  9138.      VS_SemaMins() is designed to be used as a safegaurd against a user    
  9139.      shutting off his/her computer after locking a semaphore but before    
  9140.      he/she properly releases it.                                          
  9141.  
  9142.    See Also:   
  9143.      VS_SemaPhore()                                                        
  9144.  
  9145.  
  9146.  
  9147.  
  9148.  
  9149.  
  9150.  
  9151.  
  9152.  
  9153.  
  9154.  
  9155.  
  9156.  
  9157.  
  9158.  
  9159.  
  9160.  
  9161.  
  9162.  
  9163.  
  9164.  
  9165.  
  9166.  
  9167.                         Vern Six's Clipper ToolBox v8.00                        
  9168.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9169.  
  9170.                                     - 139 -                                     
  9171.  
  9172.  
  9173.  
  9174.  
  9175.  
  9176.  
  9177.  
  9178.  
  9179.  
  9180.    VS_SemaPhore()       Lock/Unlock a semaphore                           
  9181.  
  9182.    Description:
  9183.      VS_SemaPhore() allows you to lock/unlock a semaphore for transaction  
  9184.      processing, etc.  Example: Because it is not possible to lock multiple
  9185.      records in the same file (without locking the entire file) it is      
  9186.      sometimes advisable to a semaphore to signal other applications/users 
  9187.      that you require multiple records to be locked at the same time.  If  
  9188.      all your programs adhere to the semaphore rules, you can dramatically 
  9189.      improve the speed and stability of your application.                  
  9190.  
  9191.    Syntax:     
  9192.      l_Success = VS_SemaPhore( c_SemaPhoreName, c_Initials, l_Lock )       
  9193.  
  9194.    Pass:       
  9195.      c_SemaPhoreName is a character expression that should contain the 
  9196.      name of the semaphore that you want to lock or unlock.  Keep in mind  
  9197.      that semaphores can be anything you want them to be.  I try to group  
  9198.      related transactions into groups and then give those groups a name.   
  9199.      That name is what I use for c_SemaPhoreName.                      
  9200.                                                                            
  9201.      c_Initials is a character expression that should contain the      
  9202.      user's initials.  This can be used with VS_Initials().                
  9203.                                                                            
  9204.      l_Lock is a logical expression that should be set to .T. if you   
  9205.      want to lock the specified semaphore or to .F. if you want to unlock  
  9206.      it.                                                                   
  9207.  
  9208.    Return:     
  9209.      l_Success is a logical expression that will be set to .T. if      
  9210.      VS_SemaPhore() was successful, otherwise .F.                          
  9211.  
  9212.    Notes:      
  9213.  
  9214.    Example:    
  9215.      IF VS_SemaPhore( "ADD_CUST", "VES", .T. )                             
  9216.         AddCust() // Add a new customer                                    
  9217.         VS_SemaPhore( "ADD_CUST", "VES", .F. )                             
  9218.       ELSE                                                                 
  9219.         VS_Tell( 3,10,"Unable To Add A New Customer Now!")                 
  9220.      ENDIF                                                                 
  9221.  
  9222.    Usage:      
  9223.  
  9224.    See Also:   
  9225.      VS_SemaMins()                                                         
  9226.  
  9227.  
  9228.  
  9229.  
  9230.  
  9231.  
  9232.  
  9233.                         Vern Six's Clipper ToolBox v8.00                        
  9234.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9235.  
  9236.                                     - 140 -                                     
  9237.  
  9238.  
  9239.  
  9240.  
  9241.  
  9242.  
  9243.  
  9244.  
  9245.  
  9246.    VS_SetOrder()        Set the controlling order of index files          
  9247.  
  9248.    Description:
  9249.      VS_SetOrder() controls which of the current work area's active indexes
  9250.      is the controlling index just like SET ORDER TO <expN> except         
  9251.      VS_SetOrder() allows you to specify an ALIAS() for the index file.    
  9252.  
  9253.    Syntax:     
  9254.      l_Success = VS_SetOrder( c_NtxAlias )                                 
  9255.  
  9256.    Pass:       
  9257.      c_NtxAlias is a character expression that contains the base (a/k/a
  9258.      alias) name of the index file (ie. MYFILE.NTX would be "MYFILE").     
  9259.  
  9260.    Return:     
  9261.      l_Success is a logical expression that will be set to .T. if      
  9262.      VS_SetOrder() was successful, otherwise .F.                           
  9263.  
  9264.    Notes:      
  9265.      VS_SetOrder() is only available for Clipper v5.0x                     
  9266.  
  9267.    Example:    
  9268.      IF VS_OpenDbf("CUST")     // Three indexes...                         
  9269.                                // CUST, SALE_TER, REGION                   
  9270.                                                                            
  9271.         VS_SetOrder("REGION")                                              
  9272.                                                                            
  9273.      ENDIF                                                                 
  9274.                                                                            
  9275.      ...                                                                   
  9276.      ...                                                                   
  9277.                                                                            
  9278.  
  9279.    Usage:      
  9280.      VS_SetOrder() allows the programmer to not be concerned with the      
  9281.      numeric order that dbSetOrder() requires.  This makes the application 
  9282.      much more flexible should the database administrator remove/add       
  9283.      indexes to the Data Dictionary.                                       
  9284.  
  9285.    See Also:   
  9286.      VS_OpenDbf() VS_OpenLst()                                             
  9287.  
  9288.  
  9289.  
  9290.  
  9291.  
  9292.  
  9293.  
  9294.  
  9295.  
  9296.  
  9297.  
  9298.  
  9299.                         Vern Six's Clipper ToolBox v8.00                        
  9300.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9301.  
  9302.                                     - 141 -                                     
  9303.  
  9304.  
  9305.  
  9306.  
  9307.  
  9308.  
  9309.  
  9310.  
  9311.  
  9312.    VS_SetPath()         Set the default path for DBF/NTX files            
  9313.  
  9314.    Description:
  9315.      VS_SetPath() allows you to change/read the current default path that  
  9316.      VS_OpenDbf() will use when opening databases.                         
  9317.  
  9318.    Syntax:     
  9319.      c_CurrentPath = VS_SetPath( [c_NewPath] )                             
  9320.  
  9321.    Pass:       
  9322.      c_NewPath is an optional character expression that should contain 
  9323.      the new path you want VS_OpenDbf() to use when opening databases.     
  9324.  
  9325.    Return:     
  9326.      c_CurrentPath is a character expression that will contain the     
  9327.      current path setting.                                                 
  9328.  
  9329.    Notes:      
  9330.  
  9331.    Example:    
  9332.      c_OldPath = VS_SetPath( "D:\DATA\" )                                  
  9333.         SOME_UDF()                                                         
  9334.         ...                                                                
  9335.      VS_SetPath( c_OldPath )                                               
  9336.      ...                                                                   
  9337.  
  9338.    Usage:      
  9339.  
  9340.    See Also:   
  9341.      VS_OpenDbf()                                                          
  9342.  
  9343.  
  9344.  
  9345.  
  9346.  
  9347.  
  9348.  
  9349.  
  9350.  
  9351.  
  9352.  
  9353.  
  9354.  
  9355.  
  9356.  
  9357.  
  9358.  
  9359.  
  9360.  
  9361.  
  9362.  
  9363.  
  9364.  
  9365.                         Vern Six's Clipper ToolBox v8.00                        
  9366.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9367.  
  9368.                                     - 142 -                                     
  9369.  
  9370.  
  9371.  
  9372.  
  9373.  
  9374.  
  9375.  
  9376.  
  9377.  
  9378.    VS_ShdwFill()        Returns the current shadow fill character         
  9379.  
  9380.    Description:
  9381.      VS_ShdwFill() allows the programmer to sense what character the user  
  9382.      is using for "character" shadows.                                     
  9383.  
  9384.    Syntax:     
  9385.      c_ShadowChr = VS_ShdwFill()                                           
  9386.  
  9387.    Pass:       
  9388.      Nothing                                                               
  9389.  
  9390.    Return:     
  9391.      c_ShadowChr is a character expression that will contain the shadow
  9392.      fill character on the current palette.                                
  9393.  
  9394.    Notes:      
  9395.  
  9396.    Example:    
  9397.      ? VS_ShdwFill()                                                       
  9398.  
  9399.    Usage:      
  9400.  
  9401.    See Also:   
  9402.  
  9403.  
  9404.  
  9405.  
  9406.  
  9407.  
  9408.  
  9409.  
  9410.  
  9411.  
  9412.  
  9413.  
  9414.  
  9415.  
  9416.  
  9417.  
  9418.  
  9419.  
  9420.  
  9421.  
  9422.  
  9423.  
  9424.  
  9425.  
  9426.  
  9427.  
  9428.  
  9429.  
  9430.  
  9431.                         Vern Six's Clipper ToolBox v8.00                        
  9432.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9433.  
  9434.                                     - 143 -                                     
  9435.  
  9436.  
  9437.  
  9438.  
  9439.  
  9440.  
  9441.  
  9442.  
  9443.  
  9444.    VS_ShdwType()        Returns the current shadow type                   
  9445.  
  9446.    Description:
  9447.      VS_ShdwType() will allow the programmer to sense what type of shadows 
  9448.      the user is currently using.                                          
  9449.  
  9450.    Syntax:     
  9451.      n_ShadowType = VS_ShdwType()                                          
  9452.  
  9453.    Pass:       
  9454.      Nothing                                                               
  9455.  
  9456.    Return:     
  9457.      n_ShadowType is a numeric value that has the following meaning... 
  9458.                                                                            
  9459.         ----------                                                         
  9460.         0 - No Shadow                                                      
  9461.         1 - Character Shadow                                               
  9462.         2 - True Shadows (default)                                         
  9463.                                                                            
  9464.  
  9465.    Notes:      
  9466.  
  9467.    Example:    
  9468.      ? VS_ShdwType()                                                       
  9469.  
  9470.    Usage:      
  9471.  
  9472.    See Also:   
  9473.  
  9474.  
  9475.  
  9476.  
  9477.  
  9478.  
  9479.  
  9480.  
  9481.  
  9482.  
  9483.  
  9484.  
  9485.  
  9486.  
  9487.  
  9488.  
  9489.  
  9490.  
  9491.  
  9492.  
  9493.  
  9494.  
  9495.  
  9496.  
  9497.                         Vern Six's Clipper ToolBox v8.00                        
  9498.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9499.  
  9500.                                     - 144 -                                     
  9501.  
  9502.  
  9503.  
  9504.  
  9505.  
  9506.  
  9507.  
  9508.  
  9509.  
  9510.    VS_ShowNtx()         Index "gas guage"                                 
  9511.  
  9512.    Description:
  9513.      VS_ShowNtx() provides the programmer with a non-screen destructive    
  9514.      "gas guage" type of chart to show the user what percentage of the     
  9515.      index operation is complete.                                          
  9516.  
  9517.    Syntax:     
  9518.      l_Success = VS_ShowNtx( c_Name, c_Key, [c_Type], [l_Unique])          
  9519.  
  9520.    Pass:       
  9521.      c_NtxName is a character expression representing the name of the  
  9522.      index file to create.  i.e. "MYINDEX"                                 
  9523.                                                                            
  9524.      c_Key is a character expression that represents the index key in  
  9525.      textual form.                                                         
  9526.                                                                            
  9527.      c_Type is a optional character expression that should be set to   
  9528.      one following values... C for Character, N for Numeric, D for Date.   
  9529.      The default value for c_Type is "C"                               
  9530.                                                                            
  9531.      l_Unique is a optional logical expression that should be set to   
  9532.      .T. if you want to create a "UNIQUE" index.  If omitted or .F.,       
  9533.      VS_ShowNtx() will create a "non-UNIQUE" index.                        
  9534.  
  9535.    Return:     
  9536.      l_Success is a logical expression that will be set to .T. if      
  9537.      successful, otherwise .F.                                             
  9538.  
  9539.    Notes:      
  9540.  
  9541.    Example:    
  9542.      USE CLIENT ALIAS CLIENT                                               
  9543.      IF .NOT. FILE("CLIENT1.NTX")                                          
  9544.         VS_SHOWNTX("CLIENT1","ZIP_CODE+ACCT_NMBR")                         
  9545.      ENDIF                                                                 
  9546.      IF .NOT. FILE("CLIENT2.NTX")                                          
  9547.         VS_SHOWNTX("CLIENT2","SLSPERSON")                                  
  9548.      ENDIF                                                                 
  9549.      SET INDEX TO CLIENT1, CLIENT2                                         
  9550.  
  9551.    Usage:      
  9552.      One of the biggest disadvantages of Clipper is the inability to show  
  9553.      the progress of an index operation. While it can be argued that the   
  9554.      hard drive access light is sufficient to tell the user that something 
  9555.      is happening, a far greater number of users will argue to the         
  9556.      contrary.  In fact, several users have been known to turn the machine 
  9557.      off while in the middle of a large index operation.  VS_SHOWNTX()     
  9558.      provides a user-friendly "gas-guage" type of display telling the user 
  9559.      exactly how things are progressing.                                   
  9560.                                                                            
  9561.  
  9562.  
  9563.                         Vern Six's Clipper ToolBox v8.00                        
  9564.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9565.  
  9566.                                     - 145 -                                     
  9567.  
  9568.  
  9569.  
  9570.  
  9571.  
  9572.  
  9573.  
  9574.  
  9575.  
  9576.      VS_SHOWNTX() is a substitution for the Clipper "INDEX ON" command.  It
  9577.      acts EXACTLY the same as "INDEX ON" in that all other index files     
  9578.      currently open for the database are closed.                           
  9579.  
  9580.    See Also:   
  9581.      VS_Wind()                                                             
  9582.  
  9583.  
  9584.  
  9585.  
  9586.  
  9587.  
  9588.  
  9589.  
  9590.  
  9591.  
  9592.  
  9593.  
  9594.  
  9595.  
  9596.  
  9597.  
  9598.  
  9599.  
  9600.  
  9601.  
  9602.  
  9603.  
  9604.  
  9605.  
  9606.  
  9607.  
  9608.  
  9609.  
  9610.  
  9611.  
  9612.  
  9613.  
  9614.  
  9615.  
  9616.  
  9617.  
  9618.  
  9619.  
  9620.  
  9621.  
  9622.  
  9623.  
  9624.  
  9625.  
  9626.  
  9627.  
  9628.  
  9629.                         Vern Six's Clipper ToolBox v8.00                        
  9630.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9631.  
  9632.                                     - 146 -                                     
  9633.  
  9634.  
  9635.  
  9636.  
  9637.  
  9638.  
  9639.  
  9640.  
  9641.  
  9642.    VS_SnapFile()        Change the output file name VS_SnapShot()         
  9643.  
  9644.    Description:
  9645.      VS_SnapFile() allows you to change/read the current output file for   
  9646.      VS_SnapShot().                                                        
  9647.  
  9648.    Syntax:     
  9649.      c_CurrentFile = VS_SnapFile( [c_NewFile] )                            
  9650.  
  9651.    Pass:       
  9652.      c_NewFile is an optional character expression that should contain 
  9653.      the filename you want output from VS_SnapShot() to go to.             
  9654.  
  9655.    Return:     
  9656.      c_CurrentFile is a character expression that will contain the     
  9657.      current filename for the output from VS_SnapShot().                   
  9658.  
  9659.    Notes:      
  9660.  
  9661.    Example:    
  9662.      c_Current = VS_SnapFile( "MYSNAP.LOG" )                               
  9663.         SOME_UDF()                                                         
  9664.      VS_SnapFile( c_Current )                                              
  9665.      ...                                                                   
  9666.  
  9667.    Usage:      
  9668.  
  9669.    See Also:   
  9670.      VS_SnapShot()                                                         
  9671.  
  9672.  
  9673.  
  9674.  
  9675.  
  9676.  
  9677.  
  9678.  
  9679.  
  9680.  
  9681.  
  9682.  
  9683.  
  9684.  
  9685.  
  9686.  
  9687.  
  9688.  
  9689.  
  9690.  
  9691.  
  9692.  
  9693.  
  9694.  
  9695.                         Vern Six's Clipper ToolBox v8.00                        
  9696.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9697.  
  9698.                                     - 147 -                                     
  9699.  
  9700.  
  9701.  
  9702.  
  9703.  
  9704.  
  9705.  
  9706.  
  9707.  
  9708.    VS_SnapShot()        Grab a "snap-shot" of your application            
  9709.  
  9710.    Description:
  9711.      VS_SnapShot() allows the programmer/developer to grab a picture       
  9712.      (snap-shot) of the application during any wait-state.  VS_SnapShot()  
  9713.      reports which files are open, the current record, which index files   
  9714.      are open and the controlling order and much more.                     
  9715.  
  9716.    Syntax:     
  9717.      SET KEY n_Key TO VS_SnapShot()                                        
  9718.  
  9719.    Pass:       
  9720.      Nothing                                                               
  9721.  
  9722.    Return:     
  9723.      Nothing                                                               
  9724.  
  9725.    Notes:      
  9726.      By default, the output from VS_SnapShot() will go to the text file    
  9727.      called SNAPSHOT.LOG.  You can change this with VS_SnapFile().         
  9728.  
  9729.    Example:    
  9730.      SET KEY K_ALT_S TO VS_SnapShot()                                      
  9731.      ...                                                                   
  9732.  
  9733.    Usage:      
  9734.  
  9735.    See Also:   
  9736.      VS_SnapFile()                                                         
  9737.  
  9738.  
  9739.  
  9740.  
  9741.  
  9742.  
  9743.  
  9744.  
  9745.  
  9746.  
  9747.  
  9748.  
  9749.  
  9750.  
  9751.  
  9752.  
  9753.  
  9754.  
  9755.  
  9756.  
  9757.  
  9758.  
  9759.  
  9760.  
  9761.                         Vern Six's Clipper ToolBox v8.00                        
  9762.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9763.  
  9764.                                     - 148 -                                     
  9765.  
  9766.  
  9767.  
  9768.  
  9769.  
  9770.  
  9771.  
  9772.  
  9773.  
  9774.    VS_Tell()            Tell the user a message and wait                  
  9775.  
  9776.    Description:
  9777.      VS_Tell() allows the programmer to display a message in a window and  
  9778.      wait for a keypress.                                                  
  9779.  
  9780.    Syntax:     
  9781.      VS_Tell( n_Palette, n_Seconds, c_Line1, ... c_Line10 )                
  9782.  
  9783.    Pass:       
  9784.      n_Palette is a numeric expression containing the palette color for
  9785.      this window.                                                          
  9786.                                                                            
  9787.      n_Seconds is a numeric expression containing the maximum number of
  9788.      seconds to wait on the user to press a key.                           
  9789.                                                                            
  9790.      c_Line1 is a character expression containing the first line of the
  9791.      message.                                                              
  9792.                                                                            
  9793.      c_Line2...c_Line10 are all optional character expressions         
  9794.      representing additional lines of the message                          
  9795.  
  9796.    Return:     
  9797.      VS_Tell() always returns NIL                                          
  9798.  
  9799.    Notes:      
  9800.  
  9801.    Example:    
  9802.      VS_Tell(3,0,"An Error Has Occurred!")  // Will wait forever           
  9803.  
  9804.    Usage:      
  9805.  
  9806.    See Also:   
  9807.      VS_Text() VS_Msg()                                                    
  9808.  
  9809.  
  9810.  
  9811.  
  9812.  
  9813.  
  9814.  
  9815.  
  9816.  
  9817.  
  9818.  
  9819.  
  9820.  
  9821.  
  9822.  
  9823.  
  9824.  
  9825.  
  9826.  
  9827.                         Vern Six's Clipper ToolBox v8.00                        
  9828.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9829.  
  9830.                                     - 149 -                                     
  9831.  
  9832.  
  9833.  
  9834.  
  9835.  
  9836.  
  9837.  
  9838.  
  9839.  
  9840.    VS_Text()            Display a message in a window                     
  9841.  
  9842.    Description:
  9843.      VS_Text() displays a message in window, centered on the screen.       
  9844.  
  9845.    Syntax:     
  9846.      VS_Text( n_Palette, c_Line1 [, c_Line2 [, c_Line3 [, c_Line4 [,       
  9847.      c_line5 [, c_Line6 [, c_Line7 [, c_Line8 [,  c_Line9 [, c_Line10      
  9848.      ]]]]]]]]])                                                            
  9849.  
  9850.    Pass:       
  9851.      n_Palette is a numeric value representing the palette number for  
  9852.      this window.                                                          
  9853.                                                                            
  9854.      c_Line1 is a character expression containing the first line of the
  9855.      message to display.                                                   
  9856.                                                                            
  9857.      c_line2 ... c_Line10 are optional character expressions, each     
  9858.      containing another line of the message to display.                    
  9859.  
  9860.    Return:     
  9861.      VS_Text() always returns NIL                                          
  9862.  
  9863.    Notes:      
  9864.  
  9865.    Example:    
  9866.      VS_Tell(2,"Please wait while printing...")                            
  9867.         DO RPT_PRG                                                         
  9868.      VS_EndText()                                                          
  9869.  
  9870.    Usage:      
  9871.      VS_Text() is a handy method of displaying a message to the user that  
  9872.      replaces the overhead associated with using VS_Msg().                 
  9873.  
  9874.    See Also:   
  9875.      VS_EndText() VS_Msg() VS_Wind() VS_Title() VS_FootNote()              
  9876.  
  9877.  
  9878.  
  9879.  
  9880.  
  9881.  
  9882.  
  9883.  
  9884.  
  9885.  
  9886.  
  9887.  
  9888.  
  9889.  
  9890.  
  9891.  
  9892.  
  9893.                         Vern Six's Clipper ToolBox v8.00                        
  9894.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9895.  
  9896.                                     - 150 -                                     
  9897.  
  9898.  
  9899.  
  9900.  
  9901.  
  9902.  
  9903.  
  9904.  
  9905.  
  9906.    VS_TextEnh()         Returns the enhanced text color                   
  9907.  
  9908.    Description:
  9909.      VS_TextEnh() returns the enhanced text color of the currently selected
  9910.      palette.                                                              
  9911.  
  9912.    Syntax:     
  9913.      c_Color = VS_TextEnh()                                                
  9914.  
  9915.    Pass:       
  9916.      Nothing                                                               
  9917.  
  9918.    Return:     
  9919.      c_Color is a character expression that will contain the enhanced  
  9920.      text color for the currently selected palette.                        
  9921.  
  9922.    Notes:      
  9923.  
  9924.    Example:    
  9925.      ? VS_TextEnh()                                                        
  9926.  
  9927.    Usage:      
  9928.  
  9929.    See Also:   
  9930.      VS_TextStd() VS_TextUns()                                             
  9931.  
  9932.  
  9933.  
  9934.  
  9935.  
  9936.  
  9937.  
  9938.  
  9939.  
  9940.  
  9941.  
  9942.  
  9943.  
  9944.  
  9945.  
  9946.  
  9947.  
  9948.  
  9949.  
  9950.  
  9951.  
  9952.  
  9953.  
  9954.  
  9955.  
  9956.  
  9957.  
  9958.  
  9959.                         Vern Six's Clipper ToolBox v8.00                        
  9960.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  9961.  
  9962.                                     - 151 -                                     
  9963.  
  9964.  
  9965.  
  9966.  
  9967.  
  9968.  
  9969.  
  9970.  
  9971.  
  9972.    VS_TextStd()         Returns the standard text color                   
  9973.  
  9974.    Description:
  9975.      VS_TextStd() returns the standard text color of the currently selected
  9976.      palette.                                                              
  9977.  
  9978.    Syntax:     
  9979.      c_Color = VS_TextStd()                                                
  9980.  
  9981.    Pass:       
  9982.      Nothing                                                               
  9983.  
  9984.    Return:     
  9985.      c_Color is a character expression that will contain the standard  
  9986.      text color for the currently selected palette.                        
  9987.  
  9988.    Notes:      
  9989.  
  9990.    Example:    
  9991.      ? VS_TextStd()                                                        
  9992.  
  9993.    Usage:      
  9994.  
  9995.    See Also:   
  9996.      VS_TextEnh() VS_TextUns()                                             
  9997.  
  9998.  
  9999.  
  10000.  
  10001.  
  10002.  
  10003.  
  10004.  
  10005.  
  10006.  
  10007.  
  10008.  
  10009.  
  10010.  
  10011.  
  10012.  
  10013.  
  10014.  
  10015.  
  10016.  
  10017.  
  10018.  
  10019.  
  10020.  
  10021.  
  10022.  
  10023.  
  10024.  
  10025.                         Vern Six's Clipper ToolBox v8.00                        
  10026.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10027.  
  10028.                                     - 152 -                                     
  10029.  
  10030.  
  10031.  
  10032.  
  10033.  
  10034.  
  10035.  
  10036.  
  10037.  
  10038.    VS_TextUns()         Returns the unselected text color                 
  10039.  
  10040.    Description:
  10041.      VS_TextUns() returns the unselected text color of the currently       
  10042.      selected palette.                                                     
  10043.  
  10044.    Syntax:     
  10045.      c_Color = VS_TextUns()                                                
  10046.  
  10047.    Pass:       
  10048.      Nothing                                                               
  10049.  
  10050.    Return:     
  10051.      c_Color is a character expression that will contain the unselected
  10052.      text color for the currently selected palette.                        
  10053.  
  10054.    Notes:      
  10055.  
  10056.    Example:    
  10057.      ? VS_TextUns()                                                        
  10058.  
  10059.    Usage:      
  10060.  
  10061.    See Also:   
  10062.      VS_TextStd() VS_TextEnh()                                             
  10063.  
  10064.  
  10065.  
  10066.  
  10067.  
  10068.  
  10069.  
  10070.  
  10071.  
  10072.  
  10073.  
  10074.  
  10075.  
  10076.  
  10077.  
  10078.  
  10079.  
  10080.  
  10081.  
  10082.  
  10083.  
  10084.  
  10085.  
  10086.  
  10087.  
  10088.  
  10089.  
  10090.  
  10091.                         Vern Six's Clipper ToolBox v8.00                        
  10092.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10093.  
  10094.                                     - 153 -                                     
  10095.  
  10096.  
  10097.  
  10098.  
  10099.  
  10100.  
  10101.  
  10102.  
  10103.  
  10104.    VS_Title()           Sets the title for VS_Text()                      
  10105.  
  10106.    Description:
  10107.      VS_Title() sets the title that VS_Text() will use for the window it   
  10108.      displays.                                                             
  10109.  
  10110.    Syntax:     
  10111.      c_OldTitle = VS_Title( c_NewTitle )                                   
  10112.  
  10113.    Pass:       
  10114.      c_NewTitle is a character expression containing the new title that
  10115.      VS_Text() should use for all subsequent calls.                        
  10116.  
  10117.    Return:     
  10118.      c_OldTitle is a character expression containing the previous title
  10119.      that VS_Text() used for windows.                                      
  10120.  
  10121.    Notes:      
  10122.      The first time VS_Text() is called c_NewTitle is considered to be 
  10123.      a null string.                                                        
  10124.  
  10125.    Example:    
  10126.      c_OldTitle = VS_Title( "WARNING!" )                                   
  10127.         VS_Text(3,"Danger, Will Robinson!")                                
  10128.         ...                                                                
  10129.         VS_EndText()                                                       
  10130.      VS_Title(c_OldTitle)   // Restore it to what it was!                  
  10131.      ...                                                                   
  10132.  
  10133.    Usage:      
  10134.  
  10135.    See Also:   
  10136.      VS_Text() VS_FootNote()                                               
  10137.  
  10138.  
  10139.  
  10140.  
  10141.  
  10142.  
  10143.  
  10144.  
  10145.  
  10146.  
  10147.  
  10148.  
  10149.  
  10150.  
  10151.  
  10152.  
  10153.  
  10154.  
  10155.  
  10156.  
  10157.                         Vern Six's Clipper ToolBox v8.00                        
  10158.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10159.  
  10160.                                     - 154 -                                     
  10161.  
  10162.  
  10163.  
  10164.  
  10165.  
  10166.  
  10167.  
  10168.  
  10169.  
  10170.    VS_TxtColr()         Sets color to "text mode"                         
  10171.  
  10172.    Description:
  10173.      VS_TxtColr() sets color to normal text colors as defined by the       
  10174.      configuration database.                                               
  10175.  
  10176.    Syntax:     
  10177.      VS_TxtColr()                                                          
  10178.  
  10179.    Pass:       
  10180.      Nothing                                                               
  10181.  
  10182.    Return:     
  10183.      VS_TxtColr() always returns NIL                                       
  10184.  
  10185.    Notes:      
  10186.  
  10187.    Example:    
  10188.      VS_TXTCOLR()                                                          
  10189.  
  10190.    Usage:      
  10191.  
  10192.    See Also:   
  10193.      VS_Color() VS_Wind() VS_WndColr() VS_Msg()                            
  10194.  
  10195.  
  10196.  
  10197.  
  10198.  
  10199.  
  10200.  
  10201.  
  10202.  
  10203.  
  10204.  
  10205.  
  10206.  
  10207.  
  10208.  
  10209.  
  10210.  
  10211.  
  10212.  
  10213.  
  10214.  
  10215.  
  10216.  
  10217.  
  10218.  
  10219.  
  10220.  
  10221.  
  10222.  
  10223.                         Vern Six's Clipper ToolBox v8.00                        
  10224.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10225.  
  10226.                                     - 155 -                                     
  10227.  
  10228.  
  10229.  
  10230.  
  10231.  
  10232.  
  10233.  
  10234.  
  10235.  
  10236.    VS_Und()             Print a string in "Underline" mode                
  10237.  
  10238.    Description:
  10239.      VS_Und() returns the appropriate control codes to make the currently  
  10240.      selected printer print in "Underline" mode.                           
  10241.  
  10242.    Syntax:     
  10243.      c_CtrlCode = VS_Und( c_String )                                       
  10244.  
  10245.    Pass:       
  10246.      c_String is a character expression containing the value to print. 
  10247.  
  10248.    Return:     
  10249.      c_CtrlCode is a character expression that represents the necessary
  10250.      control codes to print c_String in "Underline" mode.              
  10251.  
  10252.    Notes:      
  10253.      If a printer has not yet been selected, VS_Und() will call            
  10254.      VS_InitPrtr().                                                        
  10255.  
  10256.    Example:    
  10257.      SET PRINT ON                                                          
  10258.         ? VS_Und([This will be in "Underline" mode.])                      
  10259.      SET PRINT OFF                                                         
  10260.  
  10261.    Usage:      
  10262.  
  10263.    See Also:   
  10264.      VS_InitPrtr() VS_UndOn() VS_UndOff() STRUCT.NGO:Printers              
  10265.  
  10266.  
  10267.  
  10268.  
  10269.  
  10270.  
  10271.  
  10272.  
  10273.  
  10274.  
  10275.  
  10276.  
  10277.  
  10278.  
  10279.  
  10280.  
  10281.  
  10282.  
  10283.  
  10284.  
  10285.  
  10286.  
  10287.  
  10288.  
  10289.                         Vern Six's Clipper ToolBox v8.00                        
  10290.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10291.  
  10292.                                     - 156 -                                     
  10293.  
  10294.  
  10295.  
  10296.  
  10297.  
  10298.  
  10299.  
  10300.  
  10301.  
  10302.    VS_UndOff()          Returns the codes to turn "Underline" off         
  10303.  
  10304.    Description:
  10305.      VS_UndOff() returns the necessary codes to make the currently selected
  10306.      printer stop printing in "Underline" mode.                            
  10307.  
  10308.    Syntax:     
  10309.      c_CtrlCode = VS_UndOff()                                              
  10310.  
  10311.    Pass:       
  10312.      Nothing                                                               
  10313.  
  10314.    Return:     
  10315.      c_CtrlCode is a character expression that will contain the        
  10316.      necessary codes to make the currently selected printer stop printing  
  10317.      in "Underline" mode.                                                  
  10318.  
  10319.    Notes:      
  10320.      If a printer has not yet been selected, VS_UndOff() will call         
  10321.      VS_InitPrtr().                                                        
  10322.  
  10323.    Example:    
  10324.      SET PRINT ON                                                          
  10325.                                                                            
  10326.         ? VS_UndOn()                                                       
  10327.         ? [This is in "Underline"]                                         
  10328.         ? [So is this]                                                     
  10329.         ? VS_UndOff()                                                      
  10330.                                                                            
  10331.      SET PRINT OFF                                                         
  10332.  
  10333.    Usage:      
  10334.  
  10335.    See Also:   
  10336.      VS_InitPrtr() VS_Und() VS_UndOn() STRUCT.NGO:Printers                 
  10337.  
  10338.  
  10339.  
  10340.  
  10341.  
  10342.  
  10343.  
  10344.  
  10345.  
  10346.  
  10347.  
  10348.  
  10349.  
  10350.  
  10351.  
  10352.  
  10353.  
  10354.  
  10355.                         Vern Six's Clipper ToolBox v8.00                        
  10356.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10357.  
  10358.                                     - 157 -                                     
  10359.  
  10360.  
  10361.  
  10362.  
  10363.  
  10364.  
  10365.  
  10366.  
  10367.  
  10368.    VS_UndOn()           Returns the codes to turn "Underline" on          
  10369.  
  10370.    Description:
  10371.      VS_UndOn() returns the necessary codes to make the currently selected 
  10372.      printer print in "Underline" mode.                                    
  10373.  
  10374.    Syntax:     
  10375.      c_CtrlCode = VS_UndOn()                                               
  10376.  
  10377.    Pass:       
  10378.      Nothing                                                               
  10379.  
  10380.    Return:     
  10381.      c_CtrlCode is a character expression that will contain the        
  10382.      necessary codes to make the currently selected printer print in       
  10383.      "Underline" mode.                                                     
  10384.  
  10385.    Notes:      
  10386.      If a printer has not yet been selected, VS_UndOn() will call          
  10387.      VS_InitPrtr().                                                        
  10388.  
  10389.    Example:    
  10390.      SET PRINT ON                                                          
  10391.                                                                            
  10392.         ? VS_UndOn()                                                       
  10393.         ? [This will be in "Underline" mode]                               
  10394.         ? [So will this]                                                   
  10395.         ? VS_UndOff()                                                      
  10396.                                                                            
  10397.      SET PRINT OFF                                                         
  10398.  
  10399.    Usage:      
  10400.  
  10401.    See Also:   
  10402.      VS_InitPrtr() VS_Und() VS_UndOff() STRUCT.NGO:Printers                
  10403.  
  10404.  
  10405.  
  10406.  
  10407.  
  10408.  
  10409.  
  10410.  
  10411.  
  10412.  
  10413.  
  10414.  
  10415.  
  10416.  
  10417.  
  10418.  
  10419.  
  10420.  
  10421.                         Vern Six's Clipper ToolBox v8.00                        
  10422.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10423.  
  10424.                                     - 158 -                                     
  10425.  
  10426.  
  10427.  
  10428.  
  10429.  
  10430.  
  10431.  
  10432.  
  10433.  
  10434.    VS_Unique()          Returns a six character unique string             
  10435.  
  10436.    Description:
  10437.      VS_Unique() returns a six character string based on the date and time 
  10438.      which should never be able to be duplicated.                          
  10439.  
  10440.    Syntax:     
  10441.      c_String = VS_Unique()                                                
  10442.  
  10443.    Pass:       
  10444.      Nothing                                                               
  10445.  
  10446.    Return:     
  10447.      c_String is a unqiue six character string that should never be    
  10448.      able to be duplicated with subsequent calls to VS_Unique().           
  10449.  
  10450.    Notes:      
  10451.  
  10452.    Example:    
  10453.      c_TempDbf = VS_Unique() + ".DBF"                                      
  10454.  
  10455.    Usage:      
  10456.      VS_Unique() is used anytime you need to return a unique character     
  10457.      string for a filename, random password, ect.                          
  10458.  
  10459.    See Also:   
  10460.  
  10461.  
  10462.  
  10463.  
  10464.  
  10465.  
  10466.  
  10467.  
  10468.  
  10469.  
  10470.  
  10471.  
  10472.  
  10473.  
  10474.  
  10475.  
  10476.  
  10477.  
  10478.  
  10479.  
  10480.  
  10481.  
  10482.  
  10483.  
  10484.  
  10485.  
  10486.  
  10487.                         Vern Six's Clipper ToolBox v8.00                        
  10488.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10489.  
  10490.                                     - 159 -                                     
  10491.  
  10492.  
  10493.  
  10494.  
  10495.  
  10496.  
  10497.  
  10498.  
  10499.  
  10500.    VS_Use()             Opens a file on a local area network              
  10501.  
  10502.    Description:
  10503.      VS_Use() opens a specified database file in the currently selected    
  10504.      work area or notifies the user if unsuccessful.  The file can have an 
  10505.      ALIAS specified as well as EXCLUSIVE use set on or off.               
  10506.  
  10507.    Syntax:     
  10508.      l_Success = VS_Use( c_DbfName, [l_Exclusive] , [c_Alias] )            
  10509.  
  10510.    Pass:       
  10511.      c_DbfName is a character expression representing the name of the  
  10512.      DBF file to open.  You should not include the file extension (i.e.    
  10513.      ".DBF")                                                               
  10514.                                                                            
  10515.      l_Exclusive is an optional logical expression that should be set  
  10516.      to .T. if you want to open c_DbfName in EXCLUSIVE mode, otherwise 
  10517.      .F.  If omitted, l_Exclusive defaults to .F.                      
  10518.                                                                            
  10519.      c_Alias is an optional character expression that contains the     
  10520.      alias name for c_DbfName.  If omitted, c_Alias defaults to the
  10521.      same value as c_DbfName.                                          
  10522.  
  10523.    Return:     
  10524.      l_Success is a logical expression that will be set to .T. if      
  10525.      successful, otherwise .F.                                             
  10526.  
  10527.    Notes:      
  10528.  
  10529.    Example:    
  10530.      DO WHILE whatever                                                     
  10531.         IF .NOT. VS_USE("testfile",.F.)                                    
  10532.            ac_msg[1] = "Unable to open file"                               
  10533.            ac_msg[2] = "Operation aborted"                                 
  10534.            VS_MSG(ac_msg,2,"","")                                          
  10535.            INKEY(5)                                                        
  10536.            EXIT                                                            
  10537.         ENDIF                                                              
  10538.         .                                                                  
  10539.         .                                                                  
  10540.         .                                                                  
  10541.      ENDDO                                                                 
  10542.  
  10543.    Usage:      
  10544.      VS_Use() will attempt to open the specified database file in the      
  10545.      requested mode.  If it is unsuccessful, a non-screen destructive      
  10546.      message stating, "Waiting for busy network.  Press any key to abort." 
  10547.      will appear on the screen and VS_Use() will continue attempting to    
  10548.      open the file in the mode specified.  If the user aborts the operation
  10549.      by pressing a key, VS_Use() will return a logical value of false.  If 
  10550.      VS_Use() returns a value of false, it is your job as the programmer to
  10551.  
  10552.  
  10553.                         Vern Six's Clipper ToolBox v8.00                        
  10554.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10555.  
  10556.                                     - 160 -                                     
  10557.  
  10558.  
  10559.  
  10560.  
  10561.  
  10562.  
  10563.  
  10564.  
  10565.  
  10566.      abort the operation and recover properly.                             
  10567.  
  10568.    See Also:   
  10569.      VS_FakeLck VS_Append() VS_FLock() VS_RLock() VS_AddRec() VS_DelRec()  
  10570.  
  10571.  
  10572.  
  10573.  
  10574.  
  10575.  
  10576.  
  10577.  
  10578.  
  10579.  
  10580.  
  10581.  
  10582.  
  10583.  
  10584.  
  10585.  
  10586.  
  10587.  
  10588.  
  10589.  
  10590.  
  10591.  
  10592.  
  10593.  
  10594.  
  10595.  
  10596.  
  10597.  
  10598.  
  10599.  
  10600.  
  10601.  
  10602.  
  10603.  
  10604.  
  10605.  
  10606.  
  10607.  
  10608.  
  10609.  
  10610.  
  10611.  
  10612.  
  10613.  
  10614.  
  10615.  
  10616.  
  10617.  
  10618.  
  10619.                         Vern Six's Clipper ToolBox v8.00                        
  10620.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10621.  
  10622.                                     - 161 -                                     
  10623.  
  10624.  
  10625.  
  10626.  
  10627.  
  10628.  
  10629.  
  10630.  
  10631.  
  10632.    VS_UserName()        Returns the user's full name                      
  10633.  
  10634.    Description:
  10635.      VS_UserName() is designed to be used in concert with VS_Login() to    
  10636.      return the user's full name.                                          
  10637.  
  10638.    Syntax:     
  10639.      c_FullName = VS_UserName()                                            
  10640.  
  10641.    Pass:       
  10642.      Nothing                                                               
  10643.  
  10644.    Return:     
  10645.      c_UserName is a character expression that will contain the user's 
  10646.      name, if he/she has successfully logged in with VS_Login().           
  10647.  
  10648.    Notes:      
  10649.      VS_Login() MUST be called prior to VS_UserName()                      
  10650.  
  10651.    Example:    
  10652.      IF VS_Login()                                                         
  10653.         QOut( "Your name is..." + VS_UserName() )                          
  10654.      ENDIF                                                                 
  10655.      ...                                                                   
  10656.  
  10657.    Usage:      
  10658.  
  10659.    See Also:   
  10660.      VS_Login() VS_MntPwd() VS_ChkAuth() VS_Initials()                     
  10661.  
  10662.  
  10663.  
  10664.  
  10665.  
  10666.  
  10667.  
  10668.  
  10669.  
  10670.  
  10671.  
  10672.  
  10673.  
  10674.  
  10675.  
  10676.  
  10677.  
  10678.  
  10679.  
  10680.  
  10681.  
  10682.  
  10683.  
  10684.  
  10685.                         Vern Six's Clipper ToolBox v8.00                        
  10686.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10687.  
  10688.                                     - 162 -                                     
  10689.  
  10690.  
  10691.  
  10692.  
  10693.  
  10694.  
  10695.  
  10696.  
  10697.  
  10698.    VS_VBoxStr()         Returns the current box string for pulldowns      
  10699.  
  10700.    Description:
  10701.      VS_VBoxStr() allows the programmer to sense what "pull down" box      
  10702.      string the user has selected for the window boxes on the current      
  10703.      palette.                                                              
  10704.  
  10705.    Syntax:     
  10706.      c_BoxStr = VS_VBoxStr()                                               
  10707.  
  10708.    Pass:       
  10709.      Nothing                                                               
  10710.  
  10711.    Return:     
  10712.      c_BoxStr is a character expression that will contain the current  
  10713.      window box string.                                                    
  10714.  
  10715.    Notes:      
  10716.  
  10717.    Example:    
  10718.      ? VS_VBoxStr()                                                        
  10719.  
  10720.    Usage:      
  10721.  
  10722.    See Also:   
  10723.      VS_BoxStr()                                                           
  10724.  
  10725.  
  10726.  
  10727.  
  10728.  
  10729.  
  10730.  
  10731.  
  10732.  
  10733.  
  10734.  
  10735.  
  10736.  
  10737.  
  10738.  
  10739.  
  10740.  
  10741.  
  10742.  
  10743.  
  10744.  
  10745.  
  10746.  
  10747.  
  10748.  
  10749.  
  10750.  
  10751.                         Vern Six's Clipper ToolBox v8.00                        
  10752.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10753.  
  10754.                                     - 163 -                                     
  10755.  
  10756.  
  10757.  
  10758.  
  10759.  
  10760.  
  10761.  
  10762.  
  10763.  
  10764.    VS_ValKeys()         VALID clause to test if key is in a list          
  10765.  
  10766.    Description:
  10767.      VS_ValKeys() allows the programmer to see if key is in a list of valid
  10768.      keys.                                                                 
  10769.  
  10770.    Syntax:     
  10771.      l_Valid = VS_ValKeys( c_Key, c_KeyList, [@l_EatKeys] )                
  10772.  
  10773.    Pass:       
  10774.      c_Key is a character expression containing the key to search for. 
  10775.                                                                            
  10776.      c_KeyList is a character expression containing the list of valid  
  10777.      keys.                                                                 
  10778.                                                                            
  10779.      l_Eating is an optional logical expression that can be used in    
  10780.      place of VS_EatKeys()                                                 
  10781.  
  10782.    Return:     
  10783.      l_Valid is a logical expression that will be set to .T. if        
  10784.      c_Key is found to be in c_KeyList, otherwise it will be .F.   
  10785.  
  10786.    Notes:      
  10787.  
  10788.    Example:    
  10789.      c_Key = " "                                                           
  10790.      @ 5,5 SAY "Type A, B, C or D: " GET c_Key VALID                       
  10791.      VS_ValKeys(c_Key,"ABCD")                                              
  10792.      READ                                                                  
  10793.  
  10794.    Usage:      
  10795.  
  10796.    See Also:   
  10797.      VS_EatKeys() VS_NoOther() VS_NotNeg() VS_NotPos() VS_NotZero()        
  10798.  
  10799.  
  10800.  
  10801.  
  10802.  
  10803.  
  10804.  
  10805.  
  10806.  
  10807.  
  10808.  
  10809.  
  10810.  
  10811.  
  10812.  
  10813.  
  10814.  
  10815.  
  10816.  
  10817.                         Vern Six's Clipper ToolBox v8.00                        
  10818.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10819.  
  10820.                                     - 164 -                                     
  10821.  
  10822.  
  10823.  
  10824.  
  10825.  
  10826.  
  10827.  
  10828.  
  10829.  
  10830.    VS_Version()         Returns the current version of VERNSIX.LIB        
  10831.  
  10832.    Description:
  10833.      VS_Version() is used strictly to identify which version of the library
  10834.      you are using.  You will need to know this information should you need
  10835.      to call FrontLine Software's technical support number.                
  10836.  
  10837.    Syntax:     
  10838.      c_Version = VS_Version()                                              
  10839.  
  10840.    Pass:       
  10841.      Nothing                                                               
  10842.  
  10843.    Return:     
  10844.      c_Version is a character expression containing the version        
  10845.      information for your copy of VERNSIX.LIB                              
  10846.  
  10847.    Notes:      
  10848.  
  10849.    Example:    
  10850.      ? VS_VERSION()                                                        
  10851.  
  10852.    Usage:      
  10853.      VS_VERSION() will probably be rarely used by any programmer, rather it
  10854.      is used by the author of VERNSIX.LIB to identify which version of the 
  10855.      library you are using.                                                
  10856.  
  10857.    See Also:   
  10858.  
  10859.  
  10860.  
  10861.  
  10862.  
  10863.  
  10864.  
  10865.  
  10866.  
  10867.  
  10868.  
  10869.  
  10870.  
  10871.  
  10872.  
  10873.  
  10874.  
  10875.  
  10876.  
  10877.  
  10878.  
  10879.  
  10880.  
  10881.  
  10882.  
  10883.                         Vern Six's Clipper ToolBox v8.00                        
  10884.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10885.  
  10886.                                     - 165 -                                     
  10887.  
  10888.  
  10889.  
  10890.  
  10891.  
  10892.  
  10893.  
  10894.  
  10895.  
  10896.    VS_Wind()            Draws a window with optional shadow, etc.         
  10897.  
  10898.    Description:
  10899.      VS_Wind() is used to draw a window on the screen with an optional     
  10900.      shadow.                                                               
  10901.  
  10902.    Syntax:     
  10903.      VS_Wind( n_Top, n_Left, n_Bottom, n_Right, c_Title, c_Footnote )      
  10904.  
  10905.    Pass:       
  10906.      n_Top is a numeric value representing the top row of the window   
  10907.                                                                            
  10908.      n_Left is a numeric value representing the left column of the     
  10909.      window.                                                               
  10910.                                                                            
  10911.      n_Bottom is a numeric value representing the bottom row of the    
  10912.      window.                                                               
  10913.                                                                            
  10914.      n_Right is a numeric value representing the right column of the   
  10915.      window.                                                               
  10916.                                                                            
  10917.      c_Title is a character expression to be displayed at the top of   
  10918.      the window (offset to the left)                                       
  10919.                                                                            
  10920.      c_Footnote is a character expression to be displayed at the bottom
  10921.      of the window (centered)                                              
  10922.  
  10923.    Return:     
  10924.      VS_Wind() always returns NIL                                          
  10925.  
  10926.    Notes:      
  10927.      VS_Wind() is used extensively throughout many of the functions in     
  10928.      VERNSIX.LIB.                                                          
  10929.  
  10930.    Example:    
  10931.      VS_Wind( 5, 5, 10, 75, "Title", "Footnote" )                          
  10932.  
  10933.    Usage:      
  10934.  
  10935.    See Also:   
  10936.      VS_WndColr() VS_Msg() VS_Coord() VS_ShdwType()                        
  10937.  
  10938.  
  10939.  
  10940.  
  10941.  
  10942.  
  10943.  
  10944.  
  10945.  
  10946.  
  10947.  
  10948.  
  10949.                         Vern Six's Clipper ToolBox v8.00                        
  10950.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  10951.  
  10952.                                     - 166 -                                     
  10953.  
  10954.  
  10955.  
  10956.  
  10957.  
  10958.  
  10959.  
  10960.  
  10961.  
  10962.    VS_WindBox()         Returns the color of window boxes                 
  10963.  
  10964.    Description:
  10965.      VS_WindBox() returns the color string for window boxes on the current 
  10966.      palette.                                                              
  10967.  
  10968.    Syntax:     
  10969.      c_Color = VS_WindBox()                                                
  10970.  
  10971.    Pass:       
  10972.      Nothing                                                               
  10973.  
  10974.    Return:     
  10975.      c_Color is a character expression that will contain the color     
  10976.      string for window boxes on the current palette.                       
  10977.  
  10978.    Notes:      
  10979.  
  10980.    Example:    
  10981.      ? VS_WindBox()                                                        
  10982.  
  10983.    Usage:      
  10984.  
  10985.    See Also:   
  10986.  
  10987.  
  10988.  
  10989.  
  10990.  
  10991.  
  10992.  
  10993.  
  10994.  
  10995.  
  10996.  
  10997.  
  10998.  
  10999.  
  11000.  
  11001.  
  11002.  
  11003.  
  11004.  
  11005.  
  11006.  
  11007.  
  11008.  
  11009.  
  11010.  
  11011.  
  11012.  
  11013.  
  11014.  
  11015.                         Vern Six's Clipper ToolBox v8.00                        
  11016.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11017.  
  11018.                                     - 167 -                                     
  11019.  
  11020.  
  11021.  
  11022.  
  11023.  
  11024.  
  11025.  
  11026.  
  11027.  
  11028.    VS_WindEnh()         Returns the enhanced window color                 
  11029.  
  11030.    Description:
  11031.      VS_TextEnh() returns the enhanced window color of the currently       
  11032.      selected palette.                                                     
  11033.  
  11034.    Syntax:     
  11035.      c_Color = VS_WindEnh()                                                
  11036.  
  11037.    Pass:       
  11038.      Nothing                                                               
  11039.  
  11040.    Return:     
  11041.      c_Color is a character expression that will contain the enhanced  
  11042.      window color for the currently selected palette.                      
  11043.  
  11044.    Notes:      
  11045.  
  11046.    Example:    
  11047.      ? VS_TextEnh()                                                        
  11048.  
  11049.    Usage:      
  11050.  
  11051.    See Also:   
  11052.      VS_WindStd() VS_WindUns()                                             
  11053.  
  11054.  
  11055.  
  11056.  
  11057.  
  11058.  
  11059.  
  11060.  
  11061.  
  11062.  
  11063.  
  11064.  
  11065.  
  11066.  
  11067.  
  11068.  
  11069.  
  11070.  
  11071.  
  11072.  
  11073.  
  11074.  
  11075.  
  11076.  
  11077.  
  11078.  
  11079.  
  11080.  
  11081.                         Vern Six's Clipper ToolBox v8.00                        
  11082.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11083.  
  11084.                                     - 168 -                                     
  11085.  
  11086.  
  11087.  
  11088.  
  11089.  
  11090.  
  11091.  
  11092.  
  11093.  
  11094.    VS_WindShdw()        Returns the color of character window shadows     
  11095.  
  11096.    Description:
  11097.      VS_WindShdw() will return the color string for character shadows on   
  11098.      the current palette.                                                  
  11099.  
  11100.    Syntax:     
  11101.      c_Color = VS_WindShdw()                                               
  11102.  
  11103.    Pass:       
  11104.      Nothing                                                               
  11105.  
  11106.    Return:     
  11107.      c_Color is a character expression that will contain the color     
  11108.      string for character shadows on the current palette.                  
  11109.  
  11110.    Notes:      
  11111.  
  11112.    Example:    
  11113.      ? VS_WindShdw()                                                       
  11114.  
  11115.    Usage:      
  11116.  
  11117.    See Also:   
  11118.  
  11119.  
  11120.  
  11121.  
  11122.  
  11123.  
  11124.  
  11125.  
  11126.  
  11127.  
  11128.  
  11129.  
  11130.  
  11131.  
  11132.  
  11133.  
  11134.  
  11135.  
  11136.  
  11137.  
  11138.  
  11139.  
  11140.  
  11141.  
  11142.  
  11143.  
  11144.  
  11145.  
  11146.  
  11147.                         Vern Six's Clipper ToolBox v8.00                        
  11148.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11149.  
  11150.                                     - 169 -                                     
  11151.  
  11152.  
  11153.  
  11154.  
  11155.  
  11156.  
  11157.  
  11158.  
  11159.  
  11160.    VS_WindStd()         Returns the standard window color                 
  11161.  
  11162.    Description:
  11163.      VS_WindStd() returns the standard window color of the currently       
  11164.      selected palette.                                                     
  11165.  
  11166.    Syntax:     
  11167.      c_Color = VS_WindStd()                                                
  11168.  
  11169.    Pass:       
  11170.      Nothing                                                               
  11171.  
  11172.    Return:     
  11173.      c_Color is a character expression that will contain the standard  
  11174.      window color for the currently selected palette.                      
  11175.  
  11176.    Notes:      
  11177.  
  11178.    Example:    
  11179.      ? VS_WindStd()                                                        
  11180.  
  11181.    Usage:      
  11182.  
  11183.    See Also:   
  11184.      VS_WindEnh() VS_WindUns()                                             
  11185.  
  11186.  
  11187.  
  11188.  
  11189.  
  11190.  
  11191.  
  11192.  
  11193.  
  11194.  
  11195.  
  11196.  
  11197.  
  11198.  
  11199.  
  11200.  
  11201.  
  11202.  
  11203.  
  11204.  
  11205.  
  11206.  
  11207.  
  11208.  
  11209.  
  11210.  
  11211.  
  11212.  
  11213.                         Vern Six's Clipper ToolBox v8.00                        
  11214.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11215.  
  11216.                                     - 170 -                                     
  11217.  
  11218.  
  11219.  
  11220.  
  11221.  
  11222.  
  11223.  
  11224.  
  11225.  
  11226.    VS_WindUns()         Returns the unselected window color               
  11227.  
  11228.    Description:
  11229.      VS_WindUns() returns the unselected window color of the currently     
  11230.      selected palette.                                                     
  11231.  
  11232.    Syntax:     
  11233.      c_Color = VS_WindUns()                                                
  11234.  
  11235.    Pass:       
  11236.      Nothing                                                               
  11237.  
  11238.    Return:     
  11239.      c_Color is a character expression that will contain the unselected
  11240.      window color for the currently selected palette.                      
  11241.  
  11242.    Notes:      
  11243.  
  11244.    Example:    
  11245.      ? VS_WindUns()                                                        
  11246.  
  11247.    Usage:      
  11248.  
  11249.    See Also:   
  11250.      VS_WindStd() VS_WindEnh()                                             
  11251.  
  11252.  
  11253.  
  11254.  
  11255.  
  11256.  
  11257.  
  11258.  
  11259.  
  11260.  
  11261.  
  11262.  
  11263.  
  11264.  
  11265.  
  11266.  
  11267.  
  11268.  
  11269.  
  11270.  
  11271.  
  11272.  
  11273.  
  11274.  
  11275.  
  11276.  
  11277.  
  11278.  
  11279.                         Vern Six's Clipper ToolBox v8.00                        
  11280.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11281.  
  11282.                                     - 171 -                                     
  11283.  
  11284.  
  11285.  
  11286.  
  11287.  
  11288.  
  11289.  
  11290.  
  11291.  
  11292.    VS_WndColr()         Sets color to "window mode"                       
  11293.  
  11294.    Description:
  11295.      VS_WndColr() sets colors to the "window mode" as defined in the       
  11296.      configuration database.                                               
  11297.  
  11298.    Syntax:     
  11299.      VS_WndColr()                                                          
  11300.  
  11301.    Pass:       
  11302.      Nothing                                                               
  11303.  
  11304.    Return:     
  11305.      VS_WndColr() always returns NIL                                       
  11306.  
  11307.    Notes:      
  11308.  
  11309.    Example:    
  11310.      VS_WNDCOLR()                                                          
  11311.  
  11312.    Usage:      
  11313.  
  11314.    See Also:   
  11315.      VS_TxtColr() VS_Wind() VS_Msg() VS_Color()                            
  11316.  
  11317.  
  11318.  
  11319.  
  11320.  
  11321.  
  11322.  
  11323.  
  11324.  
  11325.  
  11326.  
  11327.  
  11328.  
  11329.  
  11330.  
  11331.  
  11332.  
  11333.  
  11334.  
  11335.  
  11336.  
  11337.  
  11338.  
  11339.  
  11340.  
  11341.  
  11342.  
  11343.  
  11344.  
  11345.                         Vern Six's Clipper ToolBox v8.00                        
  11346.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11347.  
  11348.                                     - 172 -                                     
  11349.  
  11350.  
  11351.  
  11352.  
  11353.  
  11354.  
  11355.  
  11356.  
  11357.  
  11358.    VS_Write()           Write a string to a text file                     
  11359.  
  11360.    Description:
  11361.      VS_Write() allows the programmer to replace several calls to FWRITE() 
  11362.      and all the parameters it requires.                                   
  11363.  
  11364.    Syntax:     
  11365.      First Call:                                                           
  11366.                                                                            
  11367.      l_Success = VS_Write( n_Handle )                                      
  11368.                                                                            
  11369.                                                                            
  11370.      Subsequent Calls:                                                     
  11371.                                                                            
  11372.      l_Success = VS_Write( c_String )                                      
  11373.  
  11374.    Pass:       
  11375.      First Call:                                                           
  11376.                                                                            
  11377.      n_Handle is a numeric value representing the DOS file handle      
  11378.      returned by FCREATE() or FOPEN().                                     
  11379.                                                                            
  11380.      Subsequent Calls:                                                     
  11381.                                                                            
  11382.      c_String is a character expression containing the information to  
  11383.      write to the file associated with n_Handle.                       
  11384.  
  11385.    Return:     
  11386.      l_Success is a logical value that will be set to .T. if VS_Write()
  11387.      was successful, otherwise .F.                                         
  11388.  
  11389.    Notes:      
  11390.      YOU MUST CALL VS_WRITE() WITH A DOS HANDLE EACH TIME YOU OPEN A NEW   
  11391.      FILE!!!                                                               
  11392.  
  11393.    Example:    
  11394.      n_Handle = FCREATE( "Myfile.Txt" )                                    
  11395.      VS_Write(n_Handle)                                                    
  11396.      VS_Write("Hello World!")                                              
  11397.      FCLOSE(n_Handle)                                                      
  11398.  
  11399.    Usage:      
  11400.      When the programmer uses FWRITE() he has to continually use the DOS   
  11401.      file handle,  VS_Write() remembers the handle and frees the programmer
  11402.      from having to re-type the handle so many times in the program file.  
  11403.  
  11404.    See Also:   
  11405.      VS_WriteLn()                                                          
  11406.  
  11407.  
  11408.  
  11409.  
  11410.  
  11411.                         Vern Six's Clipper ToolBox v8.00                        
  11412.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11413.  
  11414.                                     - 173 -                                     
  11415.  
  11416.  
  11417.  
  11418.  
  11419.  
  11420.  
  11421.  
  11422.  
  11423.  
  11424.    VS_WriteLn()         Write a string to a text file with CR/LF          
  11425.  
  11426.    Description:
  11427.      VS_WriteLn() allows the programmer to replace several calls to        
  11428.      FWRITE() and all the parameters it requires.                          
  11429.  
  11430.    Syntax:     
  11431.      First Call:                                                           
  11432.                                                                            
  11433.      l_Success = VS_WriteLn( n_Handle )                                    
  11434.                                                                            
  11435.                                                                            
  11436.      Subsequent Calls:                                                     
  11437.                                                                            
  11438.      l_Success = VS_WriteLn( c_String )                                    
  11439.  
  11440.    Pass:       
  11441.      First Call:                                                           
  11442.                                                                            
  11443.      n_Handle is a numeric value representing the DOS file handle      
  11444.      returned by FCREATE() or FOPEN().                                     
  11445.                                                                            
  11446.      Subsequent Calls:                                                     
  11447.                                                                            
  11448.      c_String is a character expression containing the information to  
  11449.      write to the file associated with n_Handle.  VS_WriteLn() will    
  11450.      automatically add a Carrige Return (CHR(13)) and a line feed (CHR(10))
  11451.      to the end of c_String.                                           
  11452.                                                                            
  11453.  
  11454.    Return:     
  11455.      l_Success is a logical value that will be set to .T. if VS_Write()
  11456.      was successful, otherwise .F.                                         
  11457.  
  11458.    Notes:      
  11459.      YOU MUST CALL VS_WRITELN() WITH A DOS HANDLE EACH TIME YOU OPEN A NEW 
  11460.      FILE!!!                                                               
  11461.  
  11462.    Example:    
  11463.      n_Handle = FCREATE( "Myfile.Txt" )                                    
  11464.      VS_WriteLn(n_Handle)                                                  
  11465.      VS_WriteLn("Hello World!")                                            
  11466.      FCLOSE(n_Handle)                                                      
  11467.  
  11468.    Usage:      
  11469.      When the programmer uses FWRITE() he has to continually use the DOS   
  11470.      file handle,  VS_Write() remembers the handle and frees the programmer
  11471.      from having to re-type the handle so many times in the program file.  
  11472.  
  11473.    See Also:   
  11474.      VS_Write()                                                            
  11475.  
  11476.  
  11477.                         Vern Six's Clipper ToolBox v8.00                        
  11478.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11479.  
  11480.                                     - 174 -                                     
  11481.  
  11482.  
  11483.  
  11484.  
  11485.  
  11486.  
  11487.  
  11488.  
  11489.  
  11490.  
  11491.  
  11492.  
  11493.  
  11494.  
  11495.  
  11496.  
  11497.  
  11498.  
  11499.  
  11500.  
  11501.  
  11502.  
  11503.  
  11504.  
  11505.  
  11506.  
  11507.  
  11508.  
  11509.  
  11510.  
  11511.  
  11512.  
  11513.  
  11514.  
  11515.  
  11516.  
  11517.  
  11518.  
  11519.  
  11520.  
  11521.  
  11522.  
  11523.  
  11524.  
  11525.  
  11526.  
  11527.  
  11528.  
  11529.  
  11530.  
  11531.  
  11532.  
  11533.  
  11534.  
  11535.  
  11536.  
  11537.  
  11538.  
  11539.  
  11540.  
  11541.  
  11542.  
  11543.                         Vern Six's Clipper ToolBox v8.00                        
  11544.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11545.  
  11546.                                     - 175 -                                     
  11547.  
  11548.  
  11549.  
  11550.  
  11551.  
  11552.  
  11553.  
  11554.  
  11555.  
  11556.    VS_Yellow()          Returns the codes to turn "Yellow" on             
  11557.  
  11558.    Description:
  11559.      VS_Yellow() returns the appropriate control codes to make the         
  11560.      currently selected printer print in yellow.                           
  11561.  
  11562.    Syntax:     
  11563.      c_CtrlCode = VS_Yellow()                                              
  11564.  
  11565.    Pass:       
  11566.      Nothing                                                               
  11567.  
  11568.    Return:     
  11569.      c_CtrlCode is a character expression that represents the necessary
  11570.      control codes to print in yellow.                                     
  11571.  
  11572.    Notes:      
  11573.      If a printer has not yet been selected, VS_Yellow() will call         
  11574.      VS_InitPrtr().                                                        
  11575.                                                                            
  11576.      Note:                                                             
  11577.                                                                            
  11578.      Non-Color printers will be uneffected by the use of this function.    
  11579.  
  11580.    Example:    
  11581.      SET PRINT ON                                                          
  11582.         ? VS_Yellow()+"This will be in yellow"                             
  11583.      SET PRINT OFF                                                         
  11584.  
  11585.    Usage:      
  11586.  
  11587.    See Also:   
  11588.      VS_InitPrtr() STRUCT.NGO:Printers                                     
  11589.  
  11590.  
  11591.  
  11592.  
  11593.  
  11594.  
  11595.  
  11596.  
  11597.  
  11598.  
  11599.  
  11600.  
  11601.  
  11602.  
  11603.  
  11604.  
  11605.  
  11606.  
  11607.  
  11608.  
  11609.                         Vern Six's Clipper ToolBox v8.00                        
  11610.          CopyRight (c) 1991 by Vernon E. Six, Jr. - All Rights Reserved         
  11611.  
  11612.                                     - 176 -                                     
  11613.  
  11614.  
  11615.  
  11616.  
  11617.  
  11618.  
  11619.  
  11620.  
  11621.  
  11622. VS_AddDays()   ..................................................1
  11623. VS_AddHours()  ..................................................2
  11624. VS_AddMins()   ..................................................3
  11625. VS_AddRec()    ..................................................4
  11626. VS_AddSecs()   ..................................................5
  11627. VS_Alert()     ..................................................6
  11628. VS_Append()    ..................................................8
  11629. VS_ArraySkip() ..................................................10
  11630. VS_Ask()       ..................................................11
  11631. VS_Ask2()      ..................................................12
  11632. VS_Black()     ..................................................14
  11633. VS_Blue()      ..................................................15
  11634. VS_Bold()      ..................................................16
  11635. VS_BoldOff()   ..................................................17
  11636. VS_BoldOn()    ..................................................18
  11637. VS_BoxStr()    ..................................................19
  11638. VS_Browse()    ..................................................20
  11639. VS_CanMake()   ..................................................23
  11640. VS_Center()    ..................................................24
  11641. VS_CfgFile()   ..................................................25
  11642. VS_ChkAuth()   ..................................................26
  11643. VS_CloseDict() ..................................................27
  11644. VS_CloseLst()  ..................................................28
  11645. VS_Color()     ..................................................29
  11646. VS_Cond()      ..................................................30
  11647. VS_CondOff()   ..................................................31
  11648. VS_CondOn()    ..................................................32
  11649. VS_Coord()     ..................................................33
  11650. VS_Correct()   ..................................................35
  11651. VS_CreateHelp()..................................................36
  11652. VS_Cvt2Str()   ..................................................37
  11653. VS_CvtCode()   ..................................................38
  11654. VS_DateTime()  ..................................................39
  11655. VS_DbfList()   ..................................................40
  11656. VS_Dbl()       ..................................................41
  11657. VS_DblOff()    ..................................................42
  11658. VS_DblOn()     ..................................................43
  11659. VS_DecTo36()   ..................................................44
  11660. VS_Decrypt()   ..................................................45
  11661. VS_DefPal()    ..................................................46
  11662. VS_DelRec()    ..................................................47
  11663. VS_DictPath()  ..................................................49
  11664. VS_DictStru()  ..................................................50
  11665. VS_DictVar()   ..................................................51
  11666. VS_Die()       ..................................................52
  11667. VS_Dim()       ..................................................53
  11668. VS_Dol2Str()   ..................................................54
  11669. VS_Draft()     ..................................................55
  11670. VS_DropScr()   ..................................................56
  11671. VS_Dte2Txt()   ..................................................57
  11672. VS_EatKeys()   ..................................................58
  11673. VS_Edit()      ..................................................59
  11674. VS_ElapDays()  ..................................................61
  11675. VS_ElapHours() ..................................................62
  11676. VS_ElapMins()  ..................................................63
  11677. VS_ElapSecs()  ..................................................64
  11678. VS_Encrypt()   ..................................................65
  11679. VS_EndText()   ..................................................66
  11680. VS_FLock()     ..................................................67
  11681. VS_FakeLck     ..................................................68
  11682. VS_FileSel()   ..................................................69
  11683. VS_Filt()      ..................................................70
  11684. VS_FootNote()  ..................................................71
  11685. VS_FormFeed()  ..................................................72
  11686. VS_GetDate()   ..................................................73
  11687. VS_GetTime()   ..................................................74
  11688. VS_GrabScr()   ..................................................75
  11689. VS_Green()     ..................................................76
  11690. VS_Help()      ..................................................77
  11691. VS_HelpDbf()   ..................................................78
  11692. VS_HelpPrg()   ..................................................79
  11693. VS_HelpVar()   ..................................................80
  11694. VS_InitHelp()  ..................................................81
  11695. VS_InitPrtr()  ..................................................82
  11696. VS_InitVern()  ..................................................83
  11697. VS_Initials()  ..................................................84
  11698. VS_Inkey()     ..................................................85
  11699. VS_Ital()      ..................................................86
  11700. VS_ItalOff()   ..................................................87
  11701. VS_ItalOn()    ..................................................88
  11702. VS_LineFeed()  ..................................................89
  11703. VS_LinesPg()   ..................................................90
  11704. VS_Login()     ..................................................91
  11705. VS_MakeHlp()   ..................................................92
  11706. VS_Menu()      ..................................................93
  11707. VS_MntPwd()    ..................................................96
  11708. VS_Msg()       ..................................................97
  11709. VS_NetEdit()   ..................................................98
  11710. VS_NewScrn()   ..................................................99
  11711. VS_Nlq()       ..................................................100
  11712. VS_NoOther()   ..................................................101
  11713. VS_NotEmpty()  ..................................................102
  11714. VS_NotNeg()    ..................................................103
  11715. VS_NotPos()    ..................................................104
  11716. VS_NotZero()   ..................................................105
  11717. VS_NtxAll()    ..................................................106
  11718. VS_NtxDict()   ..................................................107
  11719. VS_NtxList()   ..................................................108
  11720. VS_Num2Txt()   ..................................................109
  11721. VS_OpenAll()   ..................................................110
  11722. VS_OpenDbf()   ..................................................111
  11723. VS_OpenDict()  ..................................................113
  11724. VS_OpenLst()   ..................................................114
  11725. VS_Orange()    ..................................................115
  11726. VS_PackAll()   ..................................................116
  11727. VS_Palette()   ..................................................117
  11728. VS_Parse()     ..................................................118
  11729. VS_Pick()*     ..................................................119
  11730. VS_PopDbf()    ..................................................121
  11731. VS_PopSets()   ..................................................122
  11732. VS_PrintNtx()  ..................................................123
  11733. VS_PrintTst()  ..................................................124
  11734. VS_Proper()    ..................................................125
  11735. VS_PrtMsg()    ..................................................126
  11736. VS_Purple()    ..................................................127
  11737. VS_PushDbf()   ..................................................128
  11738. VS_PushSets()  ..................................................129
  11739. VS_PutScr()    ..................................................130
  11740. VS_RLock()     ..................................................131
  11741. VS_Random()    ..................................................132
  11742. VS_ReadClr()   ..................................................133
  11743. VS_Red()       ..................................................134
  11744. VS_Reset()     ..................................................135
  11745. VS_SaveClr()   ..................................................136
  11746. VS_ScrlBar()   ..................................................137
  11747. VS_SemaMins()  ..................................................139
  11748. VS_SemaPhore() ..................................................140
  11749. VS_SetOrder()  ..................................................141
  11750. VS_SetPath()   ..................................................142
  11751. VS_ShdwFill()  ..................................................143
  11752. VS_ShdwType()  ..................................................144
  11753. VS_ShowNtx()   ..................................................145
  11754. VS_SnapFile()  ..................................................147
  11755. VS_SnapShot()  ..................................................148
  11756. VS_Tell()      ..................................................149
  11757. VS_Text()      ..................................................150
  11758. VS_TextEnh()   ..................................................151
  11759. VS_TextStd()   ..................................................152
  11760. VS_TextUns()   ..................................................153
  11761. VS_Title()     ..................................................154
  11762. VS_TxtColr()   ..................................................155
  11763. VS_Und()       ..................................................156
  11764. VS_UndOff()    ..................................................157
  11765. VS_UndOn()     ..................................................158
  11766. VS_Unique()    ..................................................159
  11767. VS_Use()       ..................................................160
  11768. VS_UserName()  ..................................................162
  11769. VS_VBoxStr()   ..................................................163
  11770. VS_ValKeys()   ..................................................164
  11771. VS_Version()   ..................................................165
  11772. VS_Wind()      ..................................................166
  11773. VS_WindBox()   ..................................................167
  11774. VS_WindEnh()   ..................................................168
  11775. VS_WindShdw()  ..................................................169
  11776. VS_WindStd()   ..................................................170
  11777. VS_WindUns()   ..................................................171
  11778. VS_WndColr()   ..................................................172
  11779. VS_Write()     ..................................................173
  11780. VS_WriteLn()   ..................................................174
  11781. VS_Yellow()    ..................................................176
  11782.